カスタム プロトコルを使用して組み込みデバイスとデータを送受信しようとしています。struct.pack() と unpack() は仕事をするように見えますが、 fmt 引数はデータの可変長配列を処理するのに十分柔軟ではないようです。
例: デバイスが [イベント レポート] [イベント数] ([イベント タイプ] [イベント値]、[イベント タイプ] [イベント値]、...) を送信します。
どこ:
- イベントレポート (符号なし 8 ビット)
- イベント数 (符号なし 16 ビット)
- イベントタイプ (符号なし 8 ビット)
- イベント値 (符号付き 16 ビット)
このデータを Python にデコードする最良の方法は何でしょうか? また、同様のデータ構造をエンコードしてデバイスに送信するにはどうすればよいですか?