python中使用中文问题

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()

来获取

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章