python2.x 中中间编码为unicode,一个字符串须要decode为unicode,再encode为其它编码格式(gbk、utf8等)html
以gbk转utf8为例: python
s = "我是字符串" #gbk编码 s = s.decode('gbk').encode('utf8') #将gbk编码转换为utf8编码,须要先转换为unicode中间编码,再转换为utf8编码
具体过程为:编码
s | gbk --- decode('gbk') ---> s | unicode --- encode('utf8') ---> s | utf8spa
代码中的 显式字符串 默认编码为代码文件的编码格式,若是开头没有#coding=[]声明,则默认编码为ascii型(因此存储中文会有问题).net
若是开头声明了,例如:code
#coding=gbkhtm
则代码中一个显式字符串,例如:blog
s = '我是字符串'ip
字符串s会被编码成 gbk 格式存储ci
详见:python字符串编码及乱码解决方案 讲的不错
Python字符编码详解 这个也能够看一看
Freecode# : www.cnblogs.com/yym2013