Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/341.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 编码未知_Python_Encoding_Mbcs - Fatal编程技术网

Python 编码未知

Python 编码未知,python,encoding,mbcs,Python,Encoding,Mbcs,我试图用Python打开一个MBCS编码的文件,但是我得到了一个错误 如果我写: fileIN = open(filename, "r", encoding = "mbcs") 我得到: 回溯(最近一次呼叫最后一次): 文件“/data/stru0039/Rotation/test.py”,第144行,in fileIN=open(文件名为“r”,编码为“mbcs”) LookupError:未知编码:mbcs 有没有办法安装这个编解码器?谢谢 mbc

我试图用Python打开一个MBCS编码的文件,但是我得到了一个错误

如果我写:

fileIN = open(filename, "r", encoding = "mbcs")
我得到:

回溯(最近一次呼叫最后一次):
文件“/data/stru0039/Rotation/test.py”,第144行,in
fileIN=open(文件名为“r”,编码为“mbcs”)
LookupError:未知编码:mbcs

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

mbcs的编码是。它指的是当前Windows“ANSI”代码页(CP_ACP)是什么。ª

如果您没有在Windows上运行它,只需猜测编码并使用它即可。如果您在Windows上运行它,但通过类似MSYS2或Cygwin的方式运行,您会得到一个警告,因为有人无法检测到底层的Windows API



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

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

filename.encode('mbcs')。decode('utf-8'))


或者使用编辑器更改格式。

MBCS不是一种编码,它是一种编码类别,即使用每个字符可变字节数(或固定数字,通常为两个)的编码。因此,您需要找出您的文件使用的是哪一个(UTF-8是最常见的),并使用它。感谢您的更正!我现在把它分类了,它是ISO-8859-1:)
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