我正在尝试使用自定义协议通过嵌入式设备发送/接收数据。struct.pack() 和 unpack() 似乎可以完成这项工作,但 fmt 参数似乎不够灵活,无法处理可变长度的数据数组。
示例:设备发送 [事件报告] [事件数量] ([事件类型] [事件值], [事件类型] [事件值], ...)
在哪里:
- 事件报告(无符号 8 位)
- 事件数(无符号 16 位)
- 事件类型(无符号 8 位)
- 事件值(有符号 16 位)
将这些数据解码为 Python 的最佳方法是什么?另外,我将如何编码类似的数据结构以发送到设备?