Preon Framework собирает отдельные биты (на самом деле грызет)
Двоичный поток, который я пытаюсь декодировать с использованием Preon, имеет значение, которое состоит из 5 непоследовательных отрывков, например:
Шестнадцатеричные данные: 00A00000F200EE0000
Учтите, что значение должно быть извлечено из ненулевых помеченных полубайтов в AF2EE, возможно ли это с помощью Preon? Если да, то можете ли вы дать какие-либо советы по этому поводу?
PS: Нули только для примера, они не представляют критерии для выбора того, какие кусочки извлечь, так как они с фиксированной позицией кусают необходимые.
Возможно, @wilfred-spinger может помочь?
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-битов, но я не могу вспомнить, что у меня в голове.
Надеюсь, это поможет.