在python2中的編碼
#_author:star#date:2019/10/29
'''字元編碼:
ascii:只能存英文和拉丁字元,
gb2312:只能6700中文,2023年
gbk1.0:存了20000多字元,2023年
gb18030:2023年,27000中文
unicode:utf_32乙個字元佔4個位元組
unicode:utf_16乙個字元佔2個位元組或兩個以上,65535
unicode:utf_8乙個英文用ascii來存,乙個中文佔3個位元組
(1)在 python2 中utf-8先解碼到unicode
然後unicode在編碼到gbk
(2)在 python2 中gbk先解碼到unicode
然後unicode在編碼到utf—8
(3)在 python3中的encode()和python2 中的encode()不同,python2裡的encode()只是單純的編碼。
python3中的encode()在編碼的同時還要將其轉為bytes型別,decode()在解碼的同時還要將bytes型別轉為字串
'''s='特斯拉'
s_to_unicode=s.decode('utf-8')#(1)在 python2 中utf-8先解碼到unicode
unicode_to_gbk=s_to_unicode.encode("gbk")#,然後unicode在編碼到gbk
print(s)#utf-8 亂碼
print('unicode:',s_to_unicode)#unicode
print('gbk:',unicode_to_gbk)#gbk
gbk_to_unicode=unicode_to_gbk.decode('gbk')
unicode_to_utf8=gbk_to_unicode.encode('utf-8')
print(gbk_to_unicode)
print(unicode_to_utf8)
python2中編碼問題
1.python 3 中 str 與 bytes 在 python3中,字串有兩種型別 str和bytes。在 python 3 中你定義的所有字串,都是 unicode string型別,使用 type 和 isinstance 可以判別 python3 str obj 你好 type str o...
Python2編碼問題
以下內容說的都是 python 2.x 版本 我們看到的輸入輸出都是 字元 characters 計算機 程式 並不能直接處理,需要轉化成位元組資料 bytes 因為程式只能處理 bytes 資料。例如 檔案 網路傳輸等,處理的都是 bytes 資料 二進位制數字。孤立的 byte 是毫無意義的,所...
Python2編碼問題
以下內容說的都是 python 2.x 版本 我們看到的輸入輸出都是 字元 characters 計算機 程式 並不能直接處理,需要轉化成位元組資料 bytes 因為程式只能處理 bytes 資料。例如 檔案 網路傳輸等,處理的都是 bytes 資料 二進位制數字。孤立的 byte 是毫無意義的,所...