本人是Python的初学者,阐述不到位或者不对之处,敬请见谅!
首先搞清楚:字符串在Python内部的表示是unicode编码,我一般在Python代码开始,加上:
reload(sys)
sys.setdefaultencoding('utf-8') #修改系统的默认编码
这样,代码默认的编码格式就是utf-8,另外,了解一下:
print sys.getdefaultencoding() #获取系统默认的编码
encode()和decode()都是字符串的函数
encode:编码,将unicode编码转换成其他编码的字符串
decode:解码,将其他编码的字符串转换成unicode编码
Unicode类型:编码的基础类型(有些说法是一个类)
在做编码转换时,通常需要以unicode作为中间编码,
即先将其他编码的字符串解码(decode)成unicode,再从unicode编码(encode)成另一种编码
decode encode
str ---------> str(Unicode) ---------> str
如:s=‘中文’
如果是在utf8的文件中,该字符串就是utf8编码,如果是在gb2312的文件中,则其编码为gb2312。这种情况下,要进行编码转换,都需要先用decode方法将其转换成unicode编码,再使用encode方法将其转换