bytes主要是給在計算機看的,string主要是給人看的
中間有個橋梁就是編碼規則,現在大趨勢是utf8
bytes物件是二進位制,很容易轉換成16進製制,例如\x64
string就是我們看到的內容,例如'abc'
string經過編碼encode,轉化成二進位制物件,給計算機識別
bytes經過反編碼decode,轉化成string,讓我們看,但是注意反編碼的編碼規則是有範圍,\xc8就不是utf8識別的範圍
# bytes object2 b = b"example"
3
4 # str object
5 s = "example"
6
7 # str to bytes
8 bytes(s, encoding = "utf8")
9
10 # bytes to str
11 str(b, encoding = "utf-8")
12
13 # an alternative method
14 # str to bytes
15 str.encode(s) # 字串轉bytes
16
17 # bytes to str # bytes轉字串
18 bytes.decode(b)
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,你不能拼接字串和位元組流,也無法在位元組流裡搜尋字串 反之亦然 也不能將字串傳入引數為位...