Python3中的Bytes和str之間的關係

2022-01-17 01:58:08 字數 679 閱讀 4807

文字總是unicode字符集,用str型別表示。

二進位制資料則由bytes表示。(通過socket在網路上傳輸資料時必須要用二進位制格式)

python不會以任何隱式的方式混用str和bytes,所以我們不能在**中拼接字串和位元組包

當然字串和位元組,是可以被相互轉換的。

借用乙個其他的圖來說明轉換關係:

string 通過encode 編碼成 bytes 型別,而bytes格式的資料又可以通過decode來解碼成str型別。

encode 用來對string格式個資料進行編碼:

str = '你好'

str.encode(

'utf-8

') -->表示源資料是什麼格式的,不指定的話,預設為utf-8b

'\xe4\xbd\xa0\xe5\xa5\xbd

'

decode 用來對bytes格式的資料進行解碼:

str = b'

\xe4\xbd\xa0\xe5\xa5\xbd

'str.decode(

'utf-8

') -->表示把二進位制資料解釋成 什麼格式的資料(預設utf-8,待測)

Python3中bytes和HexStr之間的轉換

在python運算元據內容時,多數情況下可能遇到下面3種型別的資料處理 hexstring 如 1c532145697a8b6f str 如 x1c x53 x21 x45 x69 x7a x8b x6f list 如 0x1c,0x53,0x21,0x45,0x69,0x7a,0x8b,0x6f ...

python3 中bytes和str型別

轉 python 3最重要的新特性之一是對字串和二進位制資料流做了明確的區分。文字總是unicode,由str型別表示,二進位制資料則由bytes型別表示。python 3不會以任意隱式的方式混用str和bytes,你不能拼接字串和位元組流,也無法在位元組流裡搜尋字串 反之亦然 也不能將字串傳入引數...

Python3中的bytes和str型別

python 3最重要的新特性之一是對字串和二進位制資料流做了明確的區分。文字總是unicode,由str型別表示,二進位制資料則由bytes型別表示。python 3不會以任意隱式的方式混用str和bytes,你不能拼接字串和位元組流,也無法在位元組流裡搜尋字串 反之亦然 也不能將字串傳入引數為位...