python中关于处理汉字乱码的问题

来源:互联网 发布:qq三国张飞和关羽js 编辑:程序博客网 时间:2024/05/19 12:28

一个困扰了好久的Python 中文编码问题。多次失败后我总结出一些经验。Python 解决中文编码问题基本可以用以下逻辑:
utf8(输入) ——> unicode(处理) ——> (输出)utf8
Python 里面处理的字符都是都是unicode 编码,因此解决编码问题的方法是把输入的文本(无论是什么编码)解码为(decode)unicode编码,然后输出时再编码(encode)成所需编码。由于处理的一般为txt 文档
最简单的方法,是把txt 文档另存为utf-8 编码,然后使用Python 处理的时候解码为unicode(sometexts.decode(‘utf8’)),输出结果回txt 的时候再编码成utf8(直接用str() 函数就可以了)。
代码如下:

#encoding:utf-8def mreadlines():    seek =0    while True:        with open("d:/222.txt") as f:            f.seek(seek)            data =f.readline()            if data:                seek=f.tell()                #print seek                yield data            else:                return          for item in mreadlines():    print item    print type(item)    print len(item)    if item.startswith('马忠义'):        print "++++++++++++++++++++++++++"
0 0
原创粉丝点击