本篇文章给大家分享的是有关如何进行Python 中文乱码问题的分析,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。
我们提供的服务有:成都做网站、网站建设、微信公众号开发、网站优化、网站认证、乐亭ssl等。为1000+企事业单位解决了网站和推广的问题。提供周到的售前咨询和贴心的售后服务,是有科学管理、有技术的乐亭网站制作公司
建立一个文件test.txt,文件格式用ANSI,内容为:abc中文用python来读取
# coding=gbk print open("Test.txt").read()
结果:abc中文把文件格式改成UTF-8这里需要解码:
# coding=gbk import codecs print open("Test.txt").read().decode("utf-8")
结果:abc中文上面的test.txt我是用Editplus来编辑的,但当我用Windows自带的记事本编辑并存成UTF-8格式时,运行时报错:
Traceback (most recent call last):
File "ChineseTest.py", line 3, in
print open("Test.txt").read().decode("utf-8")
UnicodeEncodeError: 'gbk' codec can't encode
character u'\ufeff' in position 0: illegal multibyte
sequence
原来,某些软件,如notepad,在保存一个以UTF-8编码的文件时,会在文件开始的地方插入三个不可见的字符(0xEF 0xBB 0xBF,即BOM)。因此我们在读取时需要自己去掉这些字符,python中的codecs module定义了这个常量:
# coding=gbk import codecs data = open("Test.txt").read() if data[:3] == codecs.BOM_UTF8: datadata = data[3:] print data.decode("utf-8")
结果:abc中文
以上就是如何进行Python 中文乱码问题的分析,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注创新互联行业资讯频道。