ByteBuffer Little Endian Insert funktioniert nicht
Ich muss eine bidirektionale Kommunikation zwischen einem Legacy-System und einem Android-Gerät herstellen. Das Altsystem verwendet die Little-Endian-Byte-Reihenfolge. Ich habe den Empfangsteil erfolgreich implementiert, aber das Senden funktioniert nicht.
Seltsam, weil es für mich so aussieht, als ob die ByteBuffer-Klasse nicht funktioniert (das kann ich kaum glauben)
ByteBuffer byteBuffer = ByteBuffer.allocate(4);
byteBuffer.order(ByteOrder.LITTLE_ENDIAN);
byteBuffer = ByteBuffer.allocate(4);
byteBuffer.putInt(88);
byte[] result = byteBuffer.array();
Ergebnisse: [0, 0, 0, 88]
ByteBuffer byteBuffer = ByteBuffer.allocate(4);
byteBuffer.order(ByteOrder.BIG_ENDIAN);
byteBuffer = ByteBuffer.allocate(4);
byteBuffer.putInt(88);
byte[] result = byteBuffer.array();
Auch ergibt das gleiche: [0, 0, 0, 88]
Wenn ich mich jedoch nicht irre, sollte die Little-Endian-Bestellung Folgendes zurückgeben: [88, 0, 0, 0]
Was ist der Punkt, den ich vermisse?