Python文本乱码这个问题在我们使用的时候会发生在很多地方,其实我们需要不断的进行相关代码的调整,在下面的文章中你会找到相关的解决方法。希望大家详仔细的学习。
在处理utf8文本格式的时候,由于这些文本是含BOM(byte order mark)的utf8文本,编译时产生一个Error,”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定义了这个常量:
查看源代码打印帮助
- import codecs
- data = open("Test.txt").read()
- if data[:3] == codecs.BOM_UTF8:
- datadata = data[3:]
- print data.decode("utf-8")
以上就是对Python文本乱码发生时代码修改的详细介绍。
【编辑推荐】