主题 : Python读取中文字符编码问题

UID: 9964
级别: 恶魔城城主
精华: 0
发帖: 118453
灵魂: 0 颗
水晶: 483 颗
贡献石: 17166 颗
警告石: 2 颗
好评石: 190221 颗
信誉石: 2 颗
技术分: 29462 分
活跃分: 318 分
社团: 『寂寞ˇ 党』
银行水晶总资产: 1 颗
在线时间: 20831(小时)
注册时间: 2010-05-02
最后登录: 2017-02-01
楼主  发表于: 2015-06-12 16:58

Python读取中文字符编码问题

分享到:

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

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

import sys  
reload(sys)  
sys.setdefaultencoding('utf8')

或者参考转载的这篇 http://www.linuxhttp://idc.myhack58.com/.com/Linux/2015-06/118734.htm,另外一种方式可破。

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

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)


来自:   顶端
UID: 534463
级别: 光明使者
精华: 0
发帖: 1051
灵魂: 0 颗
水晶: 0 颗
贡献石: 0 颗
警告石: 0 颗
好评石: 0 颗
信誉石: 0 颗
技术分: 172 分
活跃分: 0 分
银行水晶总资产: 0 颗
在线时间: 216(小时)
注册时间: 2017-02-19
最后登录: 2017-11-22
1楼  发表于: 2017-05-19 19:15

摇钱树网吧计费软件软件可以满足不同层次的客户要求,一次注册、终身使用,并且拥有24小时的在线技术服务,是在同类软件中拥有更高性价比的产品
来自:   顶端
UID: 534463
级别: 光明使者
精华: 0
发帖: 1051
灵魂: 0 颗
水晶: 0 颗
贡献石: 0 颗
警告石: 0 颗
好评石: 0 颗
信誉石: 0 颗
技术分: 172 分
活跃分: 0 分
银行水晶总资产: 0 颗
在线时间: 216(小时)
注册时间: 2017-02-19
最后登录: 2017-11-22
2楼  发表于: 2017-09-09 17:01

移动和便携作为时代的潮流,无线的应用已经势不可挡。联合无线管理软件,功能全面、使用方便、不限地点,还有配套功能强大的无线路由器。如果有意拓展新的增加收入的路径,联合无线管理系统将是您最好的选择。
来自:   顶端
UID: 535595
级别: 论坛游民
精华: 0
发帖: 30
灵魂: 0 颗
水晶: 0 颗
贡献石: 0 颗
警告石: 0 颗
好评石: 1 颗
信誉石: 0 颗
技术分: 1 分
活跃分: 0 分
银行水晶总资产: 0 颗
在线时间: 48(小时)
注册时间: 2017-08-24
最后登录: 2017-10-16
3楼  发表于: 2017-10-07 09:33

11111111111111
来自:   顶端