Python编码问题

从Python2.7升级到Python 3.2,发现邮件接收也改变了.

hdr,message,octet=popClient.retr(1)

原来返回的message是字符串列表,现在返回的是bytes列表.
如果想以字符串来处理的话,需要对bytes进行解码,可邮件的编码实在是太多了,测试发现:

http://chardet.feedparser.org/

 上的chardet非常好用:

import chardet
cd=chardet.detect(astr)

然后会返回一个字典:
{'encoding': 'GB2312', 'confidence': 0.99}

直接使用cd['encoding']就知道是什么编码了.

唉,自己还要做许多工作.

原文地址:https://www.cnblogs.com/GarfieldTom/p/1986982.html