Я использую API ByteBuffer для преобразования объекта в байты. Класс объекта выглядит следующим образомByteBuffer api дает неправильные целочисленные значения
public class Obj{
int a; // size 1 byte
int b; // size 4 bytes
int c; // size 4 bytes
}
Используя ByteBuffer API, я выделил объект
ByteBuffer bbf = ByteBuffer.allocate(9);
bbf.put((byte) this.getA());
bbf.putInt(this.getB());
bbf.putInt(this.getC());
byte[] msg = bbf.array();
я установить значение B, как 100, но когда я преобразовать байтовый массив из Offset 1 до длины 4 , Я получаю другое целочисленное значение. Любая идея, в чем проблема? спасибо!
Смещения являются: 0, Ь: 1, с: 5. Вам нужно, чтобы значение было большим эндиантом или маленьким концом? –
Я установил порядок байтов для Little Endian. Но проблема все еще там –