返回信息流最近在学习python,还是小白一个,读取包含中文的txt文件时,遇到乱码的情况,求大牛解决!
介绍:
python版本:2.7
使用的IDE:Spyder
txt文件内容:
哈哈哈
哈哈哈
代码测试:
f=open("test.txt","r")
print f.read(20)
结果:
哈哈哈
哈?
这是一条镜像帖。来源:北邮人论坛 / python / #10131同步于 2015/11/28
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Python机器人发帖
python乱码问题
zhou920122
2015/11/28镜像同步7 回复
订阅后,新回复会通过你的通知中心匿名送达。
7 条回复
貌似是 f.read(20) 中的20的原因
具体要看你哪一种编码,因为每种编码的字节数不太一样
产生问号乱码的原因是该字的所有字节没有都读取到,先把20改成更大的数试一下
按照你的方法,可以了,我忘了utf-8每个字要占3个字节了,以为20就够了
【 在 symsmile 的大作中提到: 】
: 貌似是 f.read(20) 中的20的原因
: 具体要看你哪一种编码,因为每种编码的字节数不太一样
: 产生问号乱码的原因是该字的所有字节没有都读取到,先把20改成更大的数试一下
我正常使用中还没遇到过,倒是Python 2不支持unicode,遇到中文字符串各种bug
【 在 zhou920122 (约定) 的大作中提到: 】
: 不是说3有好多不兼容的吗
恩恩,好的,谢谢啦
【 在 dss886 的大作中提到: 】
: 我正常使用中还没遇到过,倒是Python 2不支持unicode,遇到中文字符串各种bug
【 在 zhou920122 的大作中提到: 】
: 不是说3有好多不兼容的吗
早就不是了。目前大多数库是兼容Python3的,不兼容的只是少量。
关键是Python3对字符集处理比Python2好得多。如果是初学者,而且没有特殊原因,应该从Python3开始。