IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    Python 处理字符编码

    Fish (fsh267@gmail.com)发表于 2014-07-20 00:00:00
    love 0

    #参考文章 主要参考了这两篇文章,写的非常好:

    unicode in python

    详解 python 中文编码与处理

    ##总结如下 处理文本或者抓取的网页时,尽量这样的初始化:

    def unicode_init(obj, encoding = 'utf-8'):
        if isinstance(obj, basestring):
            if not isinstance(obj, unicode):
                obj = unicode(obj, encodeing)
        return obj

    这么处理,是先将不同的编码格式,统一成unicode,然后在输出的时候,再变回去。

    ##举个例子 比如下面这个页面,如果直接读取并输出到命令窗,会有堆乱码

    import urllib2
    url = 'http://tech.sina.com.cn/t/2014-07-20/10009505866.shtml'
    a = urllib2.urlopen(url).read()

    输出结果:

    *2\x97\x13)S\x1f\x11F\x05\x8f-HW\xf3 J\x9eH\xe8\x1fO
    

    因为那个界面的编码是’gb2312’格式的,所以输出会出乎意料.

    这样使用:

    url = 'http://tech.sina.com.cn/t/2014-07-20/10009505866.shtml'
    a = urllib2.urlopen(url).read()
    print unicode_init(a, encoding='gb2312') 

    #END



沪ICP备19023445号-2号
友情链接