對python3新增的byte類型詳解

今天小編就爲大家分享一篇對python3新增的byte類型詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

在python2中字節類型同字符類型區分不大,但是在python3中最重要的特性是對文本和二進制數據做了更加清晰的區分,文本總是Unicode,由字符類型表示,而二進制數據則由byte類型表示,python3不會以任意隱式方式混用字節型和字符型,也因此在python3中不能拼接字符串和字節包(python2中可以,會自動進行轉換),也不能在字節包中搜索字符串,也不能將字符串傳入參數爲字節包的函數。

需要注意的是,在網絡數據傳輸過程中,python2可以通過字符串(string)方式傳輸,但是python3只能通過二進制(bytes)方式來傳輸,因此要對傳輸文本進行轉換。

python3新增的byte類型

例如下面的例子:

>>>'你好'.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()出來的結果的“b”代表二進制(binary)

以上這篇對python3新增的byte類型詳解就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持神馬文庫。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章