zoukankan      html  css  js  c++  java
  • python中的字符编码和str与bytes类型转换

    从某种意义上说,Python中只有两种数据类型:str和bytes。

    从str转换成bytes,称为编码

    从bytes转换为str,称为解码

    str是以Unicode方式编码的
    byte可以以utf8或者gbk等形式编码

    一、str转bytes(编码)

    方法一:通过bytes()方法

    s = 'hello世界'
    b = bytes(s, 'utf8')
    

    在utf8中,一个汉字占三个字节

    print(b) # b是utf8编码的bytes
    

      

    上边代码执行结果如图:

     方法二:通过str的内置函数encode()

    b2 = s.encode('utf8')
    print(b2)
    

      

    二、bytes转str(解码)

    方法一:用str()方法

    s = str(b2, 'gbk')
    print(s)  # 会出现汉字乱码
    

      

    乱码原因:

    b2是用utf8编码成bytes的,必须用utf8解码成str
    str数据类型没有编码规则,是Unicode(万国码)

    方法二:用bytes的内置函数decode()

    s2 = b2.decode('utf8')
    print(s2)
    

      

    用什么格式编码,就要用什么格式解码

  • 相关阅读:
    nio的学习
    并发编程学习(二)
    并发编程学习(一)
    linux基础知识-常用命令
    linux基础知识-目录结构
    springcloud的config
    zuul学习
    hystrix学习
    feign学习
    ribbon学习
  • 原文地址:https://www.cnblogs.com/sddai/p/14240034.html
Copyright © 2011-2022 走看看