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

时间:2015-01-16 17:30:38

标签: java frameworks byte nibble preon

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

十六进制数据: 00A00000F200EE0000

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

PS:Zeroes仅用于示例,它们不代表选择提取哪些半字节的标准,因为它们是固定位置的半字节所需的。

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

1 个答案:

答案 0 :(得分:1)

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

 @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位的字段,但我无法记住我的头脑。

希望有所帮助。