一、概念
python2默認(rèn)ascii碼膜蛔,可以在文件頭顯式指定編碼(utf-8灰殴,此時所有str的編碼都是utf-8)
python2底層兩種編碼:
-
str
,二進(jìn)制編碼 -
unicode
他挎,與存儲無關(guān)的編碼
#coding:gb2312
ss="你好" #使用gb2312編碼的str
print type(ss)
ss=ss.decode('gb2312') #解碼成unicode
print type(ss)
#coding:utf-8
ss="你好" #使用utf8編碼的str
print type(ss)
ss=ss.decode("utf8") #解碼成unicode
print type(ss)
#coding:utf-8
ss=u"你好" #unicode
print type(ss)
ss=ss.encode("utf-8") #編碼成unicode
print type(ss)
二、chardet查看編碼
chardet接受二進(jìn)制編碼輸入捡需,輸出對應(yīng)的編碼類型
#coding:utf-8
import chardet
ss="你好" #utf-8
str_type = chardet.detect(ss)
print str_type['encoding'] #utf-8