码迷,mamicode.com
首页 > 编程语言 > 详细

【小小伎俩】消杀Python解码时的UnicodeEncodeError

时间:2014-08-28 11:27:59      阅读:190      评论:0      收藏:0      [点我收藏+]

标签:blog   os   for   2014   问题   代码   log   sp   line   

最近开始啃PyQt。

这货的实用价值大,值得费些劲鼓捣、折腾。

入门的导盲书很多,上手较快。缺少的是,技术含量高的文档资料。

网上很多东西是比着Qt的葫芦画瓢。

想看看先行者们的经验教训,满世界寻摸,没找到论坛,只找着一个邮件列表。

千辛万苦弄回来一堆zip文档,不想手工拆解,写个script去拆包,却遇上了麻烦。

邮件列表的文档,会有多种自然语言的编码,有时会出现解码错误:UnicodeEncodeError。

解码问题,是Python的老大难。我现在用的3.4.1,也没真正解决它。

折腾半天,自造一个办法。直接用代码说话:

from gzip import GzipFile

def special():
    z = GzipFile('./mails/2014-August.txt.gz', 'r')
    f = open('./0001.txt','w')
    l = z.readlines()
    for b in l:
        try:
            s = b.decode('gbk')
        except:
            s = utf8(b)
        finally:
            s = str(b)
        try:
            f.write(s)
        except:
            continue
    f.close()

#---------------------------------------------------
def utf8(b):
    try:
        s = b.decode('utf-8')
        return s
    except :
        return str(b)




【小小伎俩】消杀Python解码时的UnicodeEncodeError

标签:blog   os   for   2014   问题   代码   log   sp   line   

原文地址:http://blog.csdn.net/lawme/article/details/38893809

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!