python 读取文本里有多种编码
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 读取文本里有多种编码相关的知识,希望对你有一定的参考价值。
参考技术A 读取ANSI编码文件建立一个文件test.txt,文件格式用ANSI,内容为:
abc中文
用Python来读取
# coding=gbk
print open("Test.txt").read()
结果:abc中文
读取utf-8编码文件(无BOM)
把文件格式改成UTF-8:
结果:abc涓 枃
显然,这里需要解码:
# -*- coding: utf-8 -*-
import codecs
print open("Test.txt").read().decode("utf-8")
结果:abc中文
读取utf-8编码文件(有BOM)
某些软件在保存一个以UTF-8编码的文件时,默认会在文件开始的地方插入三个不可见的字符(0xEF 0xBB 0xBF,即BOM)。在有些软件可以控制是否插入BOM。如果在有BOM的情况下,在读取时需要自己去掉这些字符,python中的codecs module定义了这个常量:本回答被提问者采纳 参考技术B 先确保写入时编码用utf-8
以上是关于python 读取文本里有多种编码的主要内容,如果未能解决你的问题,请参考以下文章
Python3文本编码错误:UnicodeDecodeError: 'gbk' codec can't decode byte