Heim >Java >javaLernprogramm >Wie konvertiert man in Java Ganzzahlen in Byte-Arrays und umgekehrt?
Ganzzahlen in Byte-Arrays konvertieren und umgekehrt in Java
Das Speichern von Zahlen in Byte-Arrays ist eine grundlegende Operation in der Programmierung. Um Daten effizient zu bearbeiten, ist es wichtig, den Konvertierungsprozess zwischen Ganzzahlen und Byte-Arrays zu verstehen.
Ganzzahl in Byte-Array
Um eine Ganzzahl in ein Byte-Array umzuwandeln, können Sie verwenden ByteBuffer, eine Klasse aus dem java.nio-Paket. Diese Klasse bietet eine praktische Möglichkeit, mit Binärdaten zu interagieren. Hier ist ein Beispiel:
<code class="java">byte[] arr = { 0x00, 0x01 }; // Source byte array short num = 0; ByteBuffer wrapped = ByteBuffer.wrap(arr); // Wraps source array in a buffer wrapped.get(num); // Reads 2 bytes from the buffer and stores in num</code>
Dieser Code verpackt das Quellbyte-Array in einen ByteBuffer und liest die ersten beiden Bytes (0x00 und 0x01) in eine kurze Ganzzahl (num).
Byte Array to Integer
Um ein Byte-Array zurück in eine Ganzzahl umzuwandeln, können Sie dieselbe ByteBuffer-Klasse verwenden. Hier ist ein Beispiel:
<code class="java">byte[] arr = { 0x00, 0x01 }; ByteBuffer dbuf = ByteBuffer.allocate(2); dbuf.put(arr); // Writes source bytes to the buffer short num = dbuf.getShort(); // Reads 2 bytes from the buffer and stores in num </code>
Dieser Code schreibt das Quellbyte-Array in einen ByteBuffer und liest dann die ersten beiden Bytes (0x00 und 0x01) in eine kurze Ganzzahl (num).
Den Code verstehen
Der Schlüssel zum Verständnis der ByteBuffer-Klasse besteht darin, dass sie eine Byte-Reihenfolge (Big-Endian oder Little-Endian) verwendet, um die Anordnung der Bytes im Array zu bestimmen. Big-Endian bedeutet, dass das höchstwertige Byte am Anfang des Arrays gespeichert wird, während Little-Endian es am Ende speichert.
Standardmäßig verwendet der ByteBuffer die Big-Endian-Bytereihenfolge. Sie können die Little-Endian-Reihenfolge angeben, indem Sie „wrapped.order(ByteOrder.LITTLE_ENDIAN)“ aufrufen, bevor Sie Vorgänge ausführen.
Das obige ist der detaillierte Inhalt vonWie konvertiert man in Java Ganzzahlen in Byte-Arrays und umgekehrt?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!