Python3 - Bytes类型
程序员文章站
2024-01-26 20:49:46
Python3 新增 bytes 类型,是指一堆字节的集合,十六进制表现形式,两个十六进制数构成一个 byte ,以 b 开头的字符串都是 bytes 类型。 计算机只能存储二进制,字符、图片、视频、音乐等想存到硬盘上,必须以正确的方式编码成二进制后再存,但是转成二进制后不是直接以 0101010 ......
python3 新增 bytes 类型,是指一堆字节的集合,十六进制表现形式,两个十六进制数构成一个 byte ,以 b 开头的字符串都是 bytes 类型。
计算机只能存储二进制,字符、图片、视频、音乐等想存到硬盘上,必须以正确的方式编码成二进制后再存,但是转成二进制后不是直接以 0101010 的形式表示的,而是用一种叫 bytes() 的类型来表示。
>>> str0 = '我是中国人' >>> str0.encode(encoding='utf-8') b'\xe6\x88\x91\xe6\x98\xaf\xe4\xb8\xad\xe5\x9b\xbd\xe4\xba\xba'
编码&解码
>>> str0 = '我是中国人' >>> resutl = str0.encode(encoding='utf-8') # utf-8 编码 >>> result.decode(encoding='utf-8') # utf-8 解码 '我是中国人'
在 python3 中内存里的字符串是以 unicode 编码的,unicode 的其中一个特性就是跟所有语言编码都有映射关系,所以 utf-8 格式的文件,在 windows 电脑上若是不能看,就可以把 utf-8 先解码成 unicode ,再由 unicode 编码成 gbk 就可以了。