MBCS编码未知

MBCS encoding unknown

我正在尝试打开一个采用 Python MBCS 编码的文件,但出现错误。

如果我写:

fileIN = open(filename, "r", encoding = "mbcs")

我得到:

Traceback (most recent call last):
 File "/data/stru0039/Rotation/test.py", line 144, in <module>
   fileIN = open(filename, "r", encoding = "mbcs")
LookupError: unknown encoding: mbcs

有没有办法安装这个编解码器?谢谢!

mbcs编码为only available on Windows。它指的是当前 Windows“ANSI”代码页 (CP_ACP) 是什么。¹

如果您不在 运行 Windows 上,只需猜测一个编码并使用它。如果你在 Windows 上 运行 但通过 MSYS2 或 Cygwin 之类的东西,你会得到 bug to report 因为有人未能检测到底层 Windows API。


¹ 对于阅读此答案的人来说,它可能不是 MBCS,而只是像 CP1252(最类似于 ISO-8859-1)的单字节编码。

在 Ubuntu 中,您可以将文件转换为 UTF-8

filename.encode('mbcs').解码('utf-8')

或使用编辑器更改格式。