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

2024-04-26 05:55:46 发布

您现在位置:Python中文网/ 问答频道 /正文

我构建了一个Python steganographer,它在图像中隐藏UTF-8文本,并且对它工作得很好。我想知道我是否可以将完整的文件编码成图像。为此,程序需要读取各种文件。问题是并不是所有的文件都是用UTF-8编码的,因此,您必须用以下方式读取它们:

file = open('somefile.docx', encoding='utf-8', errors='surrogateescape')

如果你把它复制到一个新的文件中,然后读到它们,它就会说这些文件是不可解密的。我需要一种方法来读各种各样的文件,然后再写它们,这样它们仍然可以工作。在Python3中,您有方法做到这一点吗?在

谢谢。在


Tags: 文件方法图像文本程序编码方式open
1条回答
网友
1楼 · 发布于 2024-04-26 05:55:46

改变你的看法。您不需要“在图像中隐藏UTF-8文本”。在图像中隐藏字节。在

这些字节可能完全意外地被解释为UTF-8编码的文本。但在现实中他们什么都可能。在

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

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

相关问题 更多 >