我必须为具有以下规范的消息创建一个编解码器消息长度由一个字节表示,该字节的最低有效位是一个扩展标志,设置时表示必须将以下(可选)字节用作最高有效字节字节。(希望它有意义)它可以描述如下:
+-------------------------------------------------- ---------------------------------+ | 长度 | | | +---------------------------------+-----+-+------ ---------------------------------+ | | | | | | Len1 (LSB) | 分机 | | Len2 (MSB) - 可选 | +----+----+----+----+----+----+----+-----+ +----+-- --+----+----+----+----+----+----+ | | | | | | | | | | | | | | | | | | | | | | | | | | + | | | | | | | | | | +----+----+----+----+----+----+----+--|--+ +----+-- --+----+----+----+----+----+----+ | | v 布尔值:如果为真,则使用 Len2 否则只有 Len1
随后的数据长度由该字段确定。我想将编解码器与预定义的编解码器和组合器一起使用。我想这将涉及使用 flatZip,但我不清楚如何将 flatZip 合并到 HList 组合器中。任何指向示例或文档的指针将不胜感激。