Я портирую некоторые вещи из C # в JAVA, и мне нужен класс, который может конвертировать байты в примитивы, просто Lite BitConverter в .NET может.
Как я только что опубликовал здесь , я заметил, что мой компьютер использует Little-Endian (Intel) и BitConverter работает как положено:
// C# code
byte[] b2 = new byte[] { 0, 1 };
short b2short = BitConverter.ToInt16(b2, 0);
b2short == 256, как и ожидалось.
Ну, мне нужен был "BitConverter" в JAVA, и я нашел этот кусок кода . Однако, когда я пробую это в JAVA, мне кажется, что методы интерпретируют байтовые массивы как Big-Endian. JAVA-код:
// JAVA code
byte[] b2 = new byte[] { 0, 1 };
short b2short = MyFoundConverter.BitConverter.toShort(b2, 0);
В данном случае, b2short == 1, и это мне кажется как Big-Endian.
Вопрос: Может ли кто-нибудь, кто знает эти побитовые операторы, сказать мне, действительно ли код, найденный на этой веб-странице , интерпретирует массив байтов как Big-Endian?
Если так , есть ли простой способ сделать его Little-Endian?
Привет