python - 读取各种不同编码的文件

python - Reading all kinds of files in different encodings

我构建了一个 Python steganographer 来隐藏图像中的 UTF-8 文本,并且效果很好。我想知道我是否可以在图像中编码完整的文件。为此,程序需要读取各种文件。问题是并非所有文件都使用 UTF-8 编码,因此,您必须使用:

来读取它们
file = open('somefile.docx', encoding='utf-8', errors='surrogateescape')

如果你把它复制到一个新文件并阅读它们,它会说这些文件是不可破译的。我需要一种方法来读取各种文件,然后再写入它们,以便它们仍然有效。 Python 3 你有办法做到这一点吗?

谢谢。

改变你的看法。你没有 "hide UTF-8 text in images"。您在图片中隐藏 字节

这些字节可能 - 纯属意外 - 被解释为 UTF-8 编码的文本。但实际上它们可以是任何东西。

使用 open("...", encoding="...") 以文本形式读取文件具有将文件字节解码为字符串的隐藏步骤。当您想在程序中将文件内容视为字符串时,这很方便。

跳过隐藏的解码步骤并以字节形式读取文件:open("...", "rb")