對python3新增的byte類型詳解
在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)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
python unichr函數(shù)知識點總結(jié)
在本篇文章里小編給大家整理的是一篇關(guān)于python unichr函數(shù)的知識點總結(jié)內(nèi)容,有興趣的朋友們可以學習下。2020-12-12python調(diào)用jenkinsAPI構(gòu)建jenkins,并傳遞參數(shù)的示例
這篇文章主要介紹了python調(diào)用jenkinsAPI構(gòu)建jenkins,并傳遞參數(shù)的示例,幫助大家更好的理解和學習python,感興趣的朋友可以了解下2020-12-12