python 编码问题

有时候需要将命令行或者网页上的或者文件中的内容读取出来做些处理,这个时候可能你发现读取出来的内容是其他的编码方式,如\x20等。

处理思路如下:

下载chardet模块,安装。

利用chardet模块检测读取出来的str是什么编码格式的,如‘UTF-8'或者’GB2312‘等。

>>> import chardet
>>> chardet.detect(a)
{'confidence': 0.0, 'encoding': None}

 知道了编码方式后就可以针对他进行解码了,如:

>>> a.decode('GB2312')
u'\r\n\u4e3b\u673a\u540d:    

 解码后是unicode格式的,然后就可以对这个unicode的str进行encode了,如

>>> b.encode('UTF-8')
'\r\n\xe4\xb8\xbb\xe6\x9c\xba\xe5\x90\x8d:  

ps:

字符串在python的内部表示是unicode,所以编码,解码的中间格式就是unicode。

 

posted @ 2013-08-06 17:16  马僧  阅读(371)  评论(0编辑  收藏  举报