一聚教程网:一个值得你收藏的教程网站

最新下载

热门教程

Python字符串的中文编码详解

时间:2013-06-04 编辑:简简单单 来源:一聚教程网

实例

 代码如下 复制代码

>>> s="中文"
>>> s
'xd6xd0xcexc4'
>>> s.decode("gbk")
u'u4e2du6587'
>>> print s.decode("gbk")
中文
>>> print s
中文
>>> s.decode("gbk").encode("gbk")
'xd6xd0xcexc4'
>>> print s.decode("gbk").encode("gbk")
中文
>>>

Python中文乱码

码原因:
因为你的文件声明为utf-8,并且也应该是用utf-8的编码保存的源文件。但是windows的本地默认编码是cp936,也就是gbk编码,所以在控制台

直接打印utf-8的字符串当然是乱码了。

解决方法:

在控制台打印的地方用一个转码就ok了,打印的时候这么写:

decode是将普通字符串按照参数中的编码格式进行解析,然后生成对应的unicode对象,比如在这里我们代码用的是utf-8,那么把一个字符串转换为unicode就是如下形式:

 代码如下 复制代码

s2=’哈’.decode(‘utf-8′)

这时,s2就是一个存储了’哈’字的unicode对象,其实就和unicode(‘哈’, ‘utf-8′)以及u’哈’是相同的。

 代码如下 复制代码


print myname.decode('UTF-8').encode('GBK')

比较通用的方法应该是:

 代码如下 复制代码

import sys
type = sys.getfilesystemencoding()
print myname.decode('UTF-8').encode(type)

热门栏目