Для данных, помеченных @BoundNumber, по умолчанию используется LittleEndian.Вы можете переопределить, как это:
@BoundNumber(byteOrder=BigEndian)
… но для конкретной платформы в настоящее время не вариант.Это ограничение.Возможно, вы захотите рассмотреть вопрос о регистрации проблемы для него.(В противном случае, я сделаю это где-нибудь в будущем.)
Я мог бы увидеть, как это работает, просто иметь другую константу перечисления, называемую Платформой.
Обновление:
Для порядка следования байтов Preon сейчас (в настоящее время доступен только в заголовке) имеет три варианта: BigEndian, LittleEndian и Native.Native разрешается в порядке байтов, указанном в java.nio.ByteOrder.getNative ().
Как следствие, теперь можно написать код, подобный этому:
@BoundNumber(byteOrder=Native) int value;
… которыйпереводится в 32-разрядное целое число со знаком с порядком байтов на основе архитектуры.