Python3 新增 bytes 类型,是指一堆字节的集合,十六进制表现形式,两个十六进制数构成一个 byte ,以 b 开头的字符串都是 bytes 类型。
计算机只能存储二进制,字符、图片、视频、音乐等想存到硬盘上,必须以正确的方式编码成二进制后再存,但是转成二进制后不是直接以 0101010 的形式表示的,而是用一种叫 bytes() 的类型来表示。
>>> str0 = '我是中国人'
>>> str0.encode(encoding='utf-8')
b'xe6x88x91xe6x98xafxe4xb8xadxe5x9bxbdxe4xbaxba'
编码&解码
>>> 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 就可以了。