python真是怪胎,我輸出一個漢字,錯,我寫一個漢字的註釋,錯。查看幫助我才知道,要加入#coding=utf-8。
加入這一句還不行,某些情況下還需要做一些轉換。
漢字的輸出一般需要先解碼爲unicode編碼,然後再encode成gbk、gb2312輸出。
判斷是否爲unicode編碼,可以用instance來做,isinstance(str, unicode)。
解碼爲unicode編碼的方式有兩種
1、str.decode('utf-8')
2、unicode(str, 'utf-8')
註釋:參數之所以是utf-8,是因爲本文件的編碼爲utf-8
還可以直接指定字符串是unicode編碼:
str = u'中文'
此時要想直接print str是不行的,因爲輸出的時候,str會使用默認的編碼進行encode,所以需要str.encode('gbk')。
默認的編碼可以用
import sys
print sys.getdefaultencoding()
來獲取