Я хочу использовать 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