python 读不同编码的文本,传递一个可选的encoding 参数给open() 函数
Posted 筱筱的春天
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 读不同编码的文本,传递一个可选的encoding 参数给open() 函数相关的知识,希望对你有一定的参考价值。
文件的读写操作默认使用系统编码,可以通过调用sys.getdefaultencoding() 来得到。在大多数机器上面都是utf-8 编码。如果你已经知道你要读写的文本是其他编码方式,那么可以通过传递一个可选的encoding 参数给open() 函数。如下所示:
with open(‘somefile.txt‘, ‘rt‘, encoding=‘latin-1‘) as f:
...
Python 支持非常多的文本编码。几个常见的编码是ascii, latin-1, utf-8 和utf-16。在web 应用程序中通常都使用的是UTF-8。ascii 对应从U+0000 到U+007F 范围内的7 位字符。latin-1 是字节0-255 到U+0000 至U+00FF 范围内Unicode 字符的直接映射。当读取一个未知编码的文本时使用latin-1 编码永远不会产生解码错误。使用latin-1 编码读取一个文件的时候也许不能产生完全正确的文本解码数据,但是它也能从中提取出足够多的有用数据。同时,如果你之后将数据回写回去,原先的数据还是会保留的。
以上是关于python 读不同编码的文本,传递一个可选的encoding 参数给open() 函数的主要内容,如果未能解决你的问题,请参考以下文章