4. 字节串和字符串

字节串(bytes)和字符串(str)区别

bytes存储字节。

str存储unicode字符。

字节串和字符串转换

字符串可以编码成为字节串,同时也可以再解码回字符串。

转换方法,如图:

编码、解码函数

函数
说明
str.encode(encoding='utf-8')
返回编码为 bytes 的字符串。
bytes.decode(encoding='utf-8')
返回解码为 str 的字节串。

编码格式encoding

encoding参数的取值如下:

'utf-8'、 'gb2312'、'gbk' 或 'gb18030'

汉字编码

示例

>>> s = '中国'
>>> b = s.encode()
>>> b
b'\xe4\xb8\xad\xe5\x9b\xbd'
>>> b.decode()
'中国'
>>> b2 = s.encode('gbk')
>>> b2
b'\xd6\xd0\xb9\xfa'
>>> b2.decode('gbk')
'中国'