Preon 框架收集分离的位(实际上是半字节)

Preon framework gathering separated bits (nibbles actually)

我尝试使用 Preon 解码的二进制流的值由 5 个不连续的半字节组成,例如:

十六进制数据: 00A00000F200EE0000

考虑到必须将值从非零标记的半字节中提取到 AF2EE 中,这可以使用 Preon 吗?如果是这样,您能否提供任何提示?

PS: 零只是为了示例,它们并不代表选择要提取哪些半字节的标准,因为它们是所需的固定位置半字节。

也许@wilfred-spinger 可以提供帮助?

如果半字节是固定位置,那么是的,这是可能的。 class 字段可能如下所示:

 @BoundList(size = "8")
 private byte[] reserved0;

 @BoundList(size = "4")
 private byte[] nibble1; // location of A

 @BoundList(size = "20")
 private byte[] reserved1;

 @BoundList(size = "4")
 private byte[] nibble2; // location of F

 @BoundList(size = "4")
 private byte[] nibble3; // location of 2

 // etc

我认为可能有一种方法可以在 Preon 中指定一个偏移量,这样您就不必为 0 位设置字段,但我想不起来了。

希望对您有所帮助。