我试图使用Preon解码的二进制流的值由5个非连续的半字节组成,例如:
十六进制数据: 00A00000F200EE0000
考虑必须将值从非零标记的半字节提取到AF2EE中,是否可以使用Preon?如果是这样,你能提供任何关于此类的提示吗?
PS:Zeroes仅用于示例,它们不代表选择提取哪些半字节的标准,因为它们是固定位置的半字节所需的。
也许@ wilfred-spinger可以提供帮助?
答案 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位的字段,但我无法记住我的头脑。
希望有所帮助。