file - Python将文本文件读取为二进制文件?

标签 file python-2.7 encryption binary

我试图在 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/

相关文章:

python - 内存中从 `raw_input()` 开始的字符串

node.js - Golang 从 NodeJS 解密 AES 256 CBC base64

java - 为什么我的代码创建了一个 .txt 文件,但没有在其中写入信息?

python - 在 Ubuntu 15.04(64 位)中将 Python 3.4.3 升级到 Python 3.6.1

python - 创建 .csv 文件的远程 python 脚本(权限被拒绝)

Python/Django 类型错误 : relative imports require the 'package' argument

c - OpenSSL文件加密麻烦

encryption - gnupg:不能保证该 key 属于指定用户

file - 如何在Haskell(跨平台)中获取文件访问时间?

java - 如何在 Java 中读取一个大的二进制文件