柠檬班 2020-01-30
bytes
在Python3以后,字符串和bytes类型彻底分开了。字符串是以字符为单位进行处理的,bytes类型是以字节为单位处理的。
bytes数据类型在所有的操作和使用甚至内置方法上和字符串数据类型基本一样,也是不可变的序列对象。
Python3中,bytes通常用于网络数据传输、二进制图片和文件的保存等等。可以通过调用bytes()生成bytes实例,其值形式为 b‘xxxxx‘,对于同一个字符串如果采用不同的编码方式生成bytes对象,就会形成不同的值。
b = b'' 创建一个空的bytes b = byte() 创建一个空的bytes b = b'hello' 直接指定这个hello是bytes类型 b = bytes('string',encoding='编码类型') 利用内置bytes方法,将字符串转换为指定编码的bytes b = str.encode('编码类型') 利用字符串的encode方法编码成bytes,默认为utf-8类型 bytes.decode('编码类型') 将bytes对象解码成字符串,默认使用utf-8进行解码。 当然也有简单的使用方法 string = b'xxxxxx'.decode() 直接以默认的utf-8编码解码bytes成string b = string.encode() 直接以默认的utf-8编码string为bytes
In [38]: s = 'abc' In [39]: s.encode('utf8') Out[39]: b'abc' In [40]: s1 = b'abc' In [41]: s1.decode() Out[41]: 'abc'