來源:https://www.cnblogs.com/skiler/p/6687337.html
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 = b"example"
字符串對象s
s = "example"
print(b)
print("example")
將字符串轉換為字節對象
b2 = bytes(s,encoding='utf8') #必須制定編碼格式
print(b2)
字符串encode將獲得一個bytes對象
b3 = str.encode(s)
b4 = s.encode()
print(b3)
print(type(b3))
print(b4)
將字節對象decode將獲得一個str對象
s2 = bytes.decode(b)
s3 = b.decode()
print(s2)
print(s3)