首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > perl python >

解决python的中文乱码有关问题(转)

2012-09-08 
解决python的中文乱码问题(转)在本文中,以哈来解释作示例解释所有的问题,“哈”的各种编码如下:?1. UNICOD

解决python的中文乱码问题(转)

在本文中,以'哈'来解释作示例解释所有的问题,“哈”的各种编码如下:?
1. UNICODE (UTF8-16),C854;?
2. UTF-8,E59388;?
3. GBK,B9FE。?
一、python中的str和unicode?
一直以来,python中的中文编码就是一个极为头大的问题,经常抛出编码转换的异常,python中的str和unicode到底是一个什么东西呢??
在python中提到unicode,一般指的是unicode对象,例如'哈哈'的unicode对象为?
u'\u54c8\u54c8'?
而str,是一个字节数组,这个字节数组表示的是对unicode对象编码(可以是utf-8、gbk、cp936、GB2312)后的存储的格式。这里它仅仅是一个字节流,没有其它的含义,如果你想使这个字节流显示的内容有意义,就必须用正确的编码格式,解码显示。?
例如:
解决python的中文乱码有关问题(转)

这里为什么会有utf8解码错误呢?想想上个示例也明白了,转换第一步,因为文件编码是GBK,得到的是'哈哈'编码是GBK的编码'\xb9\xfe\xb9\xfe',当进行第二步,转换成 unicode的时候,会用UTF8对'\xb9\xfe\xb9\xfe'进行解码,而大家查utf-8的编码表会发现,utf8编码表(关于UTF- 8解释可参见字符编码笔记:ASCII、UTF-8、UNICODE)中根本不存在,所以会报上述错误。

热点排行