欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Python3 - Bytes类型

程序员文章站 2022-05-29 10:29:54
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'

编码&解码

Python3 - Bytes类型

>>> str0 = '我是中国人'
>>> resutl = str0.encode(encoding='utf-8')  # utf-8 编码
>>> result.decode(encoding='utf-8')  # utf-8 解码
'我是中国人'

Python3 - Bytes类型

在 python3 中内存里的字符串是以 unicode 编码的,unicode 的其中一个特性就是跟所有语言编码都有映射关系,所以 utf-8 格式的文件,在 windows 电脑上若是不能看,就可以把 utf-8 先解码成 unicode ,再由 unicode 编码成 gbk 就可以了。