在python2中的編碼

2022-08-18 02:42:12 字數 1025 閱讀 1484

在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 是毫無意義的,所...