python2编码
2018-03-16 本文已影响0人
cotecc
一、概念
python2默认ascii码,可以在文件头显式指定编码(utf-8,此时所有str的编码都是utf-8)
python2底层两种编码:
-
str
,二进制编码 -
unicode
,与存储无关的编码
#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接受二进制编码输入,输出对应的编码类型
#coding:utf-8
import chardet
ss="你好" #utf-8
str_type = chardet.detect(ss)
print str_type['encoding'] #utf-8