Python3 新增 bytes 類型,是指一堆字節的集合,十六進制表現形式,兩個十六進制數構成一個 byte ,以 b 開頭的字符串都是 bytes 類型。
計算機只能存儲二進制,字符、圖片、視頻、音樂等想存到硬盤上,必須以正確的方式編碼成二進制后再存,但是轉成二進制后不是直接以 0101010 的形式表示的,而是用一種叫 bytes() 的類型來表示。
>>> str0 = '我是中國人'
>>> str0.encode(encoding='utf-8')
b'\xe6\x88\x91\xe6\x98\xaf\xe4\xb8\xad\xe5\x9b\xbd\xe4\xba\xba'
編碼&解碼
>>> str0 = '我是中國人'
>>> resutl = str0.encode(encoding='utf-8') # utf-8 編碼
>>> result.decode(encoding='utf-8') # utf-8 解碼
'我是中國人'
在 Python3 中內存里的字符串是以 Unicode 編碼的,Unicode 的其中一個特性就是跟所有語言編碼都有映射關系,所以 UTF-8 格式的文件,在 Windows 電腦上若是不能看,就可以把 UTF-8 先解碼成 Unicode ,再由 Unicode 編碼成 GBK 就可以了。