對(duì)python3新增的byte類型詳解
在python2中字節(jié)類型同字符類型區(qū)分不大,但是在python3中最重要的特性是對(duì)文本和二進(jìn)制數(shù)據(jù)做了更加清晰的區(qū)分,文本總是Unicode,由字符類型表示,而二進(jìn)制數(shù)據(jù)則由byte類型表示,python3不會(huì)以任意隱式方式混用字節(jié)型和字符型,也因此在python3中不能拼接字符串和字節(jié)包(python2中可以,會(huì)自動(dòng)進(jìn)行轉(zhuǎn)換),也不能在字節(jié)包中搜索字符串,也不能將字符串傳入?yún)?shù)為字節(jié)包的函數(shù)。
需要注意的是,在網(wǎng)絡(luò)數(shù)據(jù)傳輸過程中,python2可以通過字符串(string)方式傳輸,但是python3只能通過二進(jìn)制(bytes)方式來傳輸,因此要對(duì)傳輸文本進(jìn)行轉(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()方法中默認(rèn)了編碼為utf-8,但是為了避免錯(cuò)誤,最好將編碼加上。
2.encode()出來的結(jié)果的“b”代表二進(jìn)制(binary)
以上這篇對(duì)python3新增的byte類型詳解就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
python3使用sqlite3構(gòu)建本地持久化緩存的過程
日常python開發(fā)中會(huì)遇到數(shù)據(jù)持久化的問題,今天記錄下如何使用sqlite3進(jìn)行數(shù)據(jù)持久化,并提供示例代碼及數(shù)據(jù)查看工具,需要的朋友可以參考下2023-11-11
Python下調(diào)用Linux的Shell命令的方法
有時(shí)候難免需要直接調(diào)用Shell命令來完成一些比較簡(jiǎn)單的操作,這篇文章主要介紹了Python下調(diào)用Linux的Shell命令的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-06-06
jmeter中用python實(shí)現(xiàn)請(qǐng)求參數(shù)的隨機(jī)方式
首先,需下載Jython插件于https://www.jython.org/download后,將其放入JMeter的lib目錄并重啟JMeter,其次,添加JSR223PreProcessor并選擇Python作為語言,編寫腳本,其中metrics_ids3和metrics_weidu3為列表變量2024-10-10
Python+matplotlib實(shí)現(xiàn)計(jì)算兩個(gè)信號(hào)的交叉譜密度實(shí)例
這篇文章主要介紹了Python+matplotlib實(shí)現(xiàn)計(jì)算兩個(gè)信號(hào)的交叉譜密度實(shí)例,具有一定借鑒價(jià)值,需要的朋友可以參考下2018-01-01

