1、bytes主要是給計算機看的,string主要是給人看的
2、中間有個橋梁就是編碼規則,現在大趨勢是utf8
3、bytes物件是二進位制,很容易轉換成16進製制,例如\x64
4、string就是我們看到的內容,例如'abc'
5、string經過編碼encode,轉化成二進位制物件,給計算機識別
6、bytes經過反編碼decode,轉化成string,讓我們看,但是注意反編碼的編碼規則是有範圍,\xc8就不是utf8識別的範圍
7、例項:
import hashlib
b = b"example"
s = "example"
print(b)
print("example")
b2 = bytes(s,encoding='utf8') #必須制定編碼格式
b3 = str.encode(s)
b4 = s.encode()
print(b3)
print(type(b3))
print(b4)
s2 = bytes.decode(b)
s3 = b.decode()
print(s2)
print(s3)
python中string和bytes互轉
首先來設定乙個原始的字串,python 3.2.3 default,apr 11 2012,07 15 24 msc v.1500 32bit intel on win32 type help credits or license for more information.website type ...
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,你不能拼接字串和位元組流,也無法在位元組流裡搜尋字串 反之亦然 也不能將字串傳入引數...