我试图在 python 2.7 中构建一个加密程序。它将从文件中读取二进制文件,然后使用 key 对其进行加密。但是,我很快遇到了一个问题。图像文件和可执行文件等文件读取为十六进制值。但是,文本文件不使用 open()。即使我跑了
file=open("myfile.txt", "rb")
out=file.read()
它仍然只是文本。我在 Windows 7 上,而不是 Linux,我认为这可能会有所作为。有什么办法可以从任何文件(包括文本文件)中读取二进制文件,而不仅仅是图像和可执行文件?
最佳答案
即使读取带有 'rb' 标志的文件, 如果您的文件有字节 '\x41',它将在控制台中打印为字母 'A'。 如果您想要十六进制值,请将文件内容编码为十六进制,这意味着:
content = open('text.txt', 'rb').read()
# Since python 3.5:
hex = content.hex()
# else:
hex = content.encode('hex')
关于file - Python将文本文件读取为二进制文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30563177/