Python2中字符串的類型有兩種:str和unicode,其中unicode是統一編碼方式,它使得字符跟二進制是一一對應的,因此所有其他編碼的encode都從unicode開始,而其他編碼方式按照相應的編碼decode之后也會變成unicode。而utf-8,gbk編碼的字符都是str。
從一個界面直接輸入的字符串,其默認編碼為系統的默認編碼方式:(又或者是當前所使用的軟件客戶端的編碼方式:比如XShell的編碼方式)
>>> import sys >>> print sys.getdefaultencoding() ascii
如在windows下是ascii。
那么將其轉化為unicode:
>>> s =’匆匆’ >>> s '\xb4\xd2\xb4\xd2' >>> >>> s1=s.decode("gbk") >>> >>> s1 u'\u5306\u5306'
之后將其編碼為utf8:
>>> S2=s1.encode("utf8") >>> >>> S2 '\xe5\x8c\x86\xe5\x8c\x86'
當python頭文件中包含了語句:
#-*- coding:utf-8 -*-
代碼中輸入的文字默認為utf8編碼。
其他參考:http://www.cnblogs.com/schut/p/8407258.html