在python2中的編碼


在python2中的編碼

#_author:star
#date:2019/10/29
'''
字符編碼:
ASCII:只能存英文和拉丁字符,
gb2312:只能6700中文,1980年
gbk1.0:存了20000多字符,1995年
gb18030:2000年,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)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM