python - 在 Python 中处理二进制数据

标签 python python-2.7 binary hex

我正在像这样打开一个二进制文件:

file = open("test/test.x", 'rb')

并逐行读取列表。每一行看起来有点像:

'\xbe\x00\xc8d\xf8d\x08\xe4.\x07~\x03\x9e\x07\xbe\x03\xde\x07\xfe\n'

我很难处理这些数据。如果我尝试打印每一行,python 会卡住,并发出哔哔声(我认为那里有一个二进制哔声代码)。如何安全地使用这些数据?如何将每个十六进制数转换为十进制?

最佳答案

要打印它,你可以这样做:

print repr(data)

对于整个十六进制:

print data.encode('hex')

对于每个字节的十进制值:

print ' '.join([str(ord(a)) for a in data])

要从数据中解压缩二进制整数等,就好像它们最初来自 C 样式结构一样,请查看 struct模块。

关于python - 在 Python 中处理二进制数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3059301/

相关文章:

python - selenium-webdriver:如何使用 for 循环查找元素

api - 如何在python中使用github api token进行请求

python - 计算每 5 行特定列的平均值,并选择 pandas 数据框中另一列的最后一个数据(第五个)

c - C中的二进制文件读/写

php - 如何在 PHP 中将 3 个或更多 ID 合并为 1 个 64 位 ID

ruby - 如何使用 Ruby 将 float 转换为二进制字符串,反之亦然?

python - 将类添加到 django 管理字段的快速方法?

Python pickle : fix\r characters before loading

python - 查找包含电子邮件地址的所有行

python - 兼容性问题(python 2 与 python 3)