1. 程式人生 > >python3 中bytes與str類型

python3 中bytes與str類型

技術分享 unicode post clas 做了 enc 函數 二進制 ont

python3最重要的新特性之一就是對字符串和二進制流做了明確的區分。文本總是unicode,由str類型表示用於顯示。二進制則是由bytes類型表示,用於存儲和傳輸。bytes是byte的序列,而str是unicode的序列。Python3不會以任意隱式的方式混用str和bytes,不能拼接字符串和字節流,也無法在字節流裏搜索字符串(反之亦然)。也不能將字符串傳入參數為字節流的函數(反之亦然)。

技術分享圖片

str與bytes之間的轉換關系:str-->encode()-->bytes--->decode()--->str

轉換方式1:encode() ,decode()

技術分享圖片

轉換方式2:bytes() , str()

技術分享圖片

技術分享圖片

不同編碼類型的轉換

技術分享圖片

技術分享圖片

bytes作為轉換中間媒介通過encode() decode()在各種編碼如utf-8 \gbk等之間進行相互轉換。常見亂碼錯誤,多是由於打開解碼方式與文件編碼方式不同造成的。

python3 中bytes與str類型