1

我正在尝试在 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

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

4

2 回答 2

1

mbcs编码仅在 Windows 上可用。它指的是当前的 Windows“ANSI”代码页 (CP_ACP)。¹

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


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

于 2020-12-21T09:30:15.317 回答
0

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

文件名.encode('mbcs').decode('utf-8')

或使用编辑器更改格式。

于 2021-03-23T16:07:05.903 回答