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() 函数的主要内容,如果未能解决你的问题,请参考以下文章

Laravel 4:如何传递多个可选参数

如何为注释类型编码可选的默认注释值

python中的内置函数(bytearray)

使用“ ?: ”将 URL 中提供的传递参数设置为可选的 [Non-Capturing]

Excel vba 编译错误 - 参数不是可选的,

传递给 PDOStatement::bindParam() 的参数名称的前导冒号是可选的吗?