python读取中文字符编码问题

时间:2021-11-17 07:44:55

preface:许久没遇到过编码问题,一没注意就被绊倒脚了。。

一、编辑器是以ASICC编码格式的,若想在程序中有中文,需要改为utf-8格式,加入如下代码可破:

<span style="font-size:18px;">import sys  
reload(sys)  
sys.setdefaultencoding('utf8')  </span>
或者参考卤主转载的这篇http://blog.csdn.net/u010454729/article/details/40476015,另外一种方式可破。

二、读取中文文档时,卤主天真的以为字符长度是根据中文长度来着,但是读入后发现是根据字符长度来着,一个中文字长度字符长度为3。发现codecs可破:

<span style="font-size:18px;">import codecs
with codecs.open("XXX.txt", encoding = "utf-8") as f:
    text  =  f.readlines()
for i in text:
    i = i.strip("\n")
    print i,len(i)</span>