python - 在Python中打包/解包复杂数据

标签 python pack unpack

我正在尝试使用自定义协议(protocol)通过嵌入式设备发送/接收数据。 struct.pack() 和 unpack() 似乎可以完成这项工作,但 fmt 参数似乎不够灵活,无法处理可变长度的数据数组。

示例:设备发送[事件报告][事件数量]([事件类型][事件值],[事件类型][事件值],...)

地点:

  • 事件报告(无符号 8 位)
  • 事件数量(无符号 16 位)
  • 事件类型(无符号 8 位)
  • 事件值(有符号 16 位)

将这些数据解码为 Python 的最佳方法是什么?另外,我将如何编码类似的数据结构以发送到设备?

最佳答案

考虑使用python-bitstring实现二进制协议(protocol)。它非常灵活且易于使用。

关于python - 在Python中打包/解包复杂数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16512236/

相关文章:

c# - 语言间的方法差异(Python->C#)

python - 临时解压字典

python - 如何将混合(分类和数字)特征传递给sklearn中的决策树回归器?

python - 无法从父包 python 导入子项

python : Convert 2 ints to float

Perl 包的 Python 等效项 (H*, $string)

php - 使用 php 解压缩 .blend 文件数据的更简单方法?

python - 在 for 循环期间对 list/dict 赋值有什么好处?

python - 比较两个字典的键并使用与另一个字典中的键不匹配的键、值对创建一个字典 - Python

python - 组合四个字节并转换为 float