Python2中字符串的类型有两种:str和unicode,其中unicode是统一编码方式,它使得字符跟二进制是一一对应的,因此所有其他编码的encode都从unicode开始,而其他编码方式按照相应的编码decode之后也会变成unicode。而utf-8,gbk编码的字符都是str。
从一个界面直接输入的字符串,其默认编码为系统的默认编码方式:(又或者是当前所使用的软件客户端的编码方式:比如XShell的编码方式)
>>> import sys >>> print sys.getdefaultencoding() ascii
如在windows下是ascii。
那么将其转化为unicode:
>>> s =’匆匆’ >>> s 'xb4xd2xb4xd2' >>> >>> s1=s.decode("gbk") >>> >>> s1 u'u5306u5306'
之后将其编码为utf8:
>>> S2=s1.encode("utf8") >>> >>> S2 'xe5x8cx86xe5x8cx86'
当python头文件中包含了语句:
#-*- coding:utf-8 -*-
代码中输入的文字默认为utf8编码。