我尝试使用Preon解码的二进制流的值由5个非连续的半字节组成,例如:
十六进制数据:
00A00000F200EE0000
考虑到必须将非零标记的半字节中的值提取到AF2EE中,可以使用Preon吗?如果是这样,请您提供任何提示吗?
PS:零仅是示例,它们不代表选择要提取的半字节的标准,因为它们是固定位置的零位。
也许@ wilfred-spinger可以提供帮助?
最佳答案
如果半字节是固定位置,则可以。类字段可能看起来像这样:
@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位的字段,但是我不记得了。
希望能有所帮助。