在python2中字節(jié)類型同字符類型區(qū)分不大,但是在python3中最重要的特性是對文本和二進制數(shù)據(jù)做了更加清晰的區(qū)分,文本總是Unicode,由字符類型表示,而二進制數(shù)據(jù)則由byte類型表示,python3不會以任意隱式方式混用字節(jié)型和字符型,也因此在python3中不能拼接字符串和字節(jié)包(python2中可以,會自動進行轉(zhuǎn)換),也不能在字節(jié)包中搜索字符串,也不能將字符串傳入?yún)?shù)為字節(jié)包的函數(shù)。
需要注意的是,在網(wǎng)絡(luò)數(shù)據(jù)傳輸過程中,python2可以通過字符串(string)方式傳輸,但是python3只能通過二進制(bytes)方式來傳輸,因此要對傳輸文本進行轉(zhuǎn)換。

例如下面的例子:
>>>'你好'.encode('utf-8')b'/xe4/xbd/xa0/xe5/xa5/xbd'>>> b'/xe4/xbd/xa0/xe5/xa5/xbd'.decode('utf-8')'你好' >>>'你好'.encode('utf-8').decode('utf-8')'你好'其中
1.encode()和decode()方法中默認了編碼為utf-8,但是為了避免錯誤,最好將編碼加上。
2.encode()出來的結(jié)果的“b”代表二進制(binary)
以上這篇對python3新增的byte類型詳解就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持武林站長站。
新聞熱點
疑難解答