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

例如下面的例子:
>>>'你好'.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類型詳解就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
jmeter中用python實現(xiàn)請求參數(shù)的隨機方式
首先,需下載Jython插件于https://www.jython.org/download后,將其放入JMeter的lib目錄并重啟JMeter,其次,添加JSR223PreProcessor并選擇Python作為語言,編寫腳本,其中metrics_ids3和metrics_weidu3為列表變量2024-10-10
Python+matplotlib實現(xiàn)計算兩個信號的交叉譜密度實例
這篇文章主要介紹了Python+matplotlib實現(xiàn)計算兩個信號的交叉譜密度實例,具有一定借鑒價值,需要的朋友可以參考下2018-01-01

