python - 在python中读取原始二进制数据并将其转换为ascii

标签 python python-2.7 binaryfiles binary-data

我有一个原始的二进制数据,我想将其转换为可读的文本。

文本包含不可读的内容,它还包含特殊字符,例如带有 NUL 单词的黑框或 "N–[«´N–[« )› )ÿ "。我是Python新手。

这是我的代码

import struct
file = open('rawbinary.txt')
text = file.read()
struct.unpack("iiiii", text[:20])

我的输出是:

(2113933569, 67305475, -80477197, 1536577129, 1312228259)

如果添加这个:

text[:10]

我的输出是

'\x01\x11\x00~\x03\x00\x03\x04\xf3\x03'

我做得对吗?我下一步要做什么?

最佳答案

使用内置ord功能。

with open("/bin/ls", "rb") as fin:
  buf = fin.read()
bytes = map(ord, buf)    
print bytes[:10]

输出:

[127, 69, 76, 70, 2, 1, 1, 0, 0, 0]

关于python - 在python中读取原始二进制数据并将其转换为ascii,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19485954/

相关文章:

python - 在 python 中更快地绘图

python - Tcl 错误 : bad geometry specifier

c++ - 为什么 (foobar>>x) 优于 (!foobar.eof() )

检查字符串是否在文件中

python - 带有分隔符的Pandas groupby加入

python - Spark DataFrame 中向量的访问元素(逻辑回归概率向量)

python - 如何从 Jenkins 的特定构建中获取分支名称?

python - 为什么我不能从Windows上的pip下载我的软件包的最新版本?

python - 文本中的多个词索引

python - 使用 openpyxl。从列中制作列表