Я пытаюсь отправить / получить данные с помощью встроенного устройства, используя настраиваемый протокол. Кажется, что struct.pack () и unpack () справятся со своей задачей, но аргумент fmt не кажется достаточно гибким для обработки массивов данных переменной длины.
Пример: устройство отправляет [отчет о событии] [количество событий] ([тип события] [значение события], [тип события] [значение события], ...)
Где:
- отчет о событии (беззнаковый 8-битный)
- количество событий (беззнаковый 16-битный)
- тип события (беззнаковый 8-битный)
- значение события (16-битное со знаком)
Как лучше всего декодировать эти данные в Python? Кроме того, как мне закодировать аналогичные структуры данных для отправки на устройство?