python字符編碼與轉碼
阿新 • • 發佈:2017-07-10
python字符編碼與轉碼 python2.x字符編碼與轉碼 python3.x字符編碼與轉碼
python 2.x 字符編碼與轉碼
打印系統默認編碼格式
import sys print(sys.getdefaultencoding())
UTF-8 轉 gbk
方式:utf-8--轉成--unicode--轉成--gbk
a = "你好" print a utf8_to_unicode = a.decode("utf-8") #utf-8轉unicode print utf8_to_unicode unicode_to_gbk = utf8_to_unicode.encode("gbk") #unicode轉utf-8 print unicode_to_gbk
gbk 轉UTF-8
方式:gbk--轉成--unicode--轉成--utf-8
gbk_to_unicode = unicode_to_gbk.decode("gbk") #gbk轉unicode print gbk_to_unicode unicode_to_utf8 = gbk_to_unicode.encode("utf-8") #unicode轉uft-8 print unicode_to_utf8
總結:
1.python2.X 默認編碼是ascii ;支持中文需要加“ #-*- coding:utf-8 ”;
2.gbk、utf-8之間的轉碼必須先轉碼成unicode ;
python 3.x 字符編碼與轉碼
字符編碼與轉碼
UTF-8 可變長編碼格式
python3.x 在轉碼的時候,同時把字符變成一個bytes類型;例如:b‘\xc4\xe3\xba\xc3‘ ;
python3.X 默認的編碼是unicode 支持中文;
打印系統默認編碼格式
import sys print(sys.getdefaultencoding())
utf-8 轉 gbk
由於python3.0 默認unicode 支持中文,所以輸入中文,可以直接轉gbk ;
a = "你好" print(a) unicode_to_gbk = a.encode("gbk") #unicode 轉 gbk print(unicode_to_gbk)
utf-8 轉 gbk
這裏編碼轉化順序:unicode--轉成--utf-8--轉成--unicode--轉成--gbk;和上邊一樣的結果。
a = "你好" print(a) moren_to_utf8 = a.encode("utf-8") #等於moren_to_utf8 = a.encode() 因為系統編碼是utf-8 print(type(moren_to_utf8.decode("utf-8"))) #utf-8 格式 decode成unicode 就成了一個字符串; utf8_to_unicdoe = moren_to_utf8.decode("utf-8") print(utf8_to_unicdoe) unicode_to_gbk = utf8_to_unicdoe.encode("gbk") print(unicode_to_gbk)
gbk 轉 utf-8
gbk_to_unicode = unicode_to_gbk.decode("gbk") #gbk 轉 unicode print(gbk_to_unicode) unicode_to_utf8 = gbk_to_unicode.encode("utf-8") #unicode 轉 utf-8 print(unicode_to_utf8)
總結:
1.python3.x 默認編碼是unicode,支持中文;
2.python3.x 在轉碼的時候,同時把字符變成一個bytes類型;例如:b‘\xc4\xe3\xba\xc3‘ ;
3.python3.x 轉碼成了bytes類型之後,想顯示成中文decode成unicode 就成了一個字符串;
本文出自 “506554897” 博客,請務必保留此出處http://506554897.blog.51cto.com/2823970/1945838
python字符編碼與轉碼