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 读取文本里有多种编码的主要内容,如果未能解决你的问题,请参考以下文章

python 读取不同格式文本

Python | 多种编码文件(中文)乱码问题解决

如何使用Python脚本从PDF中读取阿拉伯语文本

python3字符串编码转换

python3读文件编码错误怎么办

Python3文本编码错误:UnicodeDecodeError: 'gbk' codec can't decode byte