ascii
A:00000010 8位 一個字節
unicode
A:00000000 00000001 00000010 00000100 32位 四個字節
中:00000000 00000001 00000010 00000100 32位 四個字節
utf-8
A:00000110 8位 一個字節
中:00000010 00000110 16位 兩個字節
gbk
A:00000110 8位 一個字節
中:00000010 00000110 16位 兩個字節
1,各個編碼之間的二進制,是不能互相識別的,會產生亂碼。
2,文件的存儲,傳輸,不能是unicode (只能是utf-8 utf-16 gbk gbk2312 ascii等)
python3
str 在內存中是Unicode編碼。
bytes類型
對於英文:
str:表現形式:s = 'alex'
編碼方式:010101010 unicode
bytes:表現形式:s = b'alex'
編碼方式:000101010 utf-8 gbk。。。。
對於中文:
str:表現形式:s = '中國'
編碼方式:010101010 unicode
bytes: 表現形式:s = b' x\e91\e91\e01\e21\e31\e32'
編碼方式:000101010 utf-8 gbk。。。。
encode 編碼,如何將 str ——> bytes
使用方法: str.encode('utf-8')
decode 解碼,如何將 bytes——> str
使用方法: bytes.decode('utf-8')