「林肯叔叔」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>


分享到:


相關文章: