gpt4 book ai didi

用于实现二进制文件格式的 Python 模块?

转载 作者:太空狗 更新时间:2023-10-29 21:35:35 25 4
gpt4 key购买 nike

我经常发现自己需要编写代码来与没有现成工具的二进制文件格式进行交互。我正在寻找一种简单的方法来实现结构化二进制格式的读取器/写入器——理想的方法是让我使用某种简单的声明格式创建读取器。

我找到了 Construct模块,它可以工作,但似乎在很大程度上被作者放弃了。我想知道人们是否已经使用过任何替代方案。

最佳答案

我个人会使用 bitstring模块,但我写的时候可能有偏见。 manual 中有一些用于读取/写入二进制格式的简单代码举个例子。

这是一种通过二进制格式创建的方法:

fmt = 'sequence_header_code,
uint:12=horizontal_size_value,
uint:12=vertical_size_value,
uint:4=aspect_ratio_information,
...
'
d = {'sequence_header_code': '0x000001b3',
'horizontal_size_value': 352,
'vertical_size_value': 288,
'aspect_ratio_information': 1,
...
}

s = bitstring.pack(fmt, **d)

以及之后解析它的一种方法:

>>> s.unpack('bytes:4, 2*uint:12, uint:4')
['\x00\x00\x01\xb3', 352, 288, 1]

关于用于实现二进制文件格式的 Python 模块?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5055119/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com