「林肯叔叔」Python3基础所有知识点,你需要知道的一切-连载-7


「林肯叔叔」Python3基础所有知识点,你需要知道的一切-连载-7


在 3.x 中,字符串和二进制数据完全区分开。文本总是 Unicode,由 str 类型表示,二进制数据则由 bytes 类型表示。Python 3 不会以任意隐式的方式混用 str 和 bytes,你不能拼接字符串和字节流,也无法在字节流里搜索字符串(反之亦然),也不能将字符串传入参数为字节流的函数(反之亦然)。

  • bytes 类型与 str 类型,二者的方法仅有 encode() 和 decode() 不同。
  • bytes 类型数据需在常规的 str 类型前加个 b 以示区分,例如 b'abc'。
  • 只有在需要将 str 编码(encode)成 bytes 的时候,比如:通过网络传输数据;或者需要将 bytes 解码(decode)成 str 的时候,我们才会关注 str 和 bytes 的区别。

bytes 转 str:

<code>b'abc'.decode()  
str(b'abc')
str(b'abc', encoding='utf-8')
/<code>

str 转 bytes:

<code>'中国'.encode()  
bytes('中国', encoding='utf-8')

/<code>


分享到:


相關文章: