Я хочу использовать Preon для проекта, который взаимодействует с сервером, написанным на C. Протокол зависит от исходного порядка байтов. машины (вы можете решить с помощью thisjava.nio.ByteOrder.getNative() в предположении, что JVM имеет тот же порядок байтов, что и сервер) и использует uint64_t для длин данных и int32_t для кодов состояния (отрицательное значение указывает на ошибку).
Я не смог найти информацию о подписи в документации Preon. Я быстро просмотрел исходный код и обнаружил, что nl.flotsam.preon.buffer.DefaultBitBuffer использует сдвиги со знаком (<< и >>), а комментарии javadoc для нескольких методов в nl.flotsam.preon.buffer.BitBuffer также указывают, что он использует целые числа со знаком, но комментарий javadoc nl.flotsam.preon.buffer.BitBuffer говорит, что BitBuffer использует целые числа без знака. Это смутило меня.
Каков целочисленный формат Preon по умолчанию? Как представить uint64_t и int32_t?
java.nio.ByteOrder.getNative(). Так что endianess не проблема. - person   schedule 22.08.2010