Python 无法将文件解码为utf-8

Python 无法将文件解码为utf-8,python,python-3.x,encoding,Python,Python 3.x,Encoding,我已经从github下载了一个z-machine解释器,它是用python制作的。(我正在使用Windows 10) 我运行了以下文件:buildsinglefileversion.py,它在同一文件夹中生成了一个名为xyppy.py的新文件。我面临的问题是无法打开此文件:xyppy.py,因为我无法将其解码回utf-8 我怀疑build single file version.py中的以下代码用于显示单文件版本的编码:xyppy.py: packed = StringIO() packed_

我已经从github下载了一个z-machine解释器,它是用python制作的。(我正在使用Windows 10)

我运行了以下文件:
buildsinglefileversion.py
,它在同一文件夹中生成了一个名为
xyppy.py
的新文件。我面临的问题是无法打开此文件:
xyppy.py
,因为我无法将其解码回utf-8

我怀疑
build single file version.py
中的以下代码用于显示单文件版本的编码:
xyppy.py

packed = StringIO()
packed_writer = zipfile.ZipFile(packed, 'w', zipfile.ZIP_DEFLATED)
for fname in os.listdir(package_dir):
    fpath = os.path.join(package_dir, fname)
    if os.path.isfile(fpath):
        packed_writer.write(fpath)
packed_writer.writestr('__main__.py', '''
from xyppy import __main__
if __name__ == '__main__':
    __main__.main()
''')
packed_writer.close()

pyfile = package_dir + '.py'
with open(pyfile, 'wb') as f:
    shebang = bytes((python_directive + '\n').encode('ascii'))
    f.write(shebang)
    f.write(packed.getvalue())
os.chmod(pyfile, stat.S_IRWXU | stat.S_IRGRP | stat.S_IROTH)
我假设此代码用于以特定编码生成文件
xyppy.py
。但是,我无法确定
xyppy.py
使用的是哪种编码,因此我无法使用Python IDLE打开该文件。有人能告诉我这个文件将采用哪种编码,以及为什么它是这样编码的吗

编辑: 当我试图打开
xyppy.py
文件时,错误是一个提示:“文件的编码对于Python 3.x无效。IDLE将把它转换为UTF-8。文件的当前编码是什么?:”。我试过UTF-16和ASCII,但它们都不起作用

编辑2: 用记事本打开它可以得到以下(一个简短的练习):


编辑3:我意识到这个问题可能与编码无关,有人能解释一下如何理解
xyppy.py
中的胡言乱语吗?使用
zipfile
模块解压
xyppy.py
是否有帮助?

编码为
ascii
,即与UTF8的前127个字符相同的7位美国ascii码。实际问题是什么?生成的文件包含什么?我无法打开此文件是什么意思?打开什么?有什么问题?Python3字符串是Unicode。该文件应该已经是UTF8-US-ASCII和UTF8字符串是相同的。你不必破译任何东西。那么问题出在哪里呢?
zipfile.zipfile
。这是一个ZIP文件,一种压缩的二进制格式。不是Python代码。此脚本是否在
xyppy.py
文件中发出ZIP文件的内容?这与Unicodewell无关,它显示为一个python文件。这是否意味着我已经将其从二进制格式解码回utf-8?这是一个ZIP文件。这与编码无关。用你最喜欢的压缩工具打开它。或者使用相同的库,
zipfile
解压缩内容。但您仍然没有显示该文件包含的内容。
#!/usr/bin/env python
PK    M©LQê3í  D         xyppy/blorb.py­VMoÔ0½çWX½$(´Uh¥EH…