Konvertieren zwischen Byte-Arrays und Ganzzahlen in Java
Beim Umgang mit Binärdaten oder der Übergabe von Werten zwischen Systemen wird die Konvertierung zwischen Byte-Arrays und Ganzzahlen vereinfacht essentiell. Dieser Artikel befasst sich mit dem unkomplizierten Prozess zum Erreichen dieser Konvertierung in Java.
Die Klasse ByteBuffer im java.nio-Paket bietet eine effiziente Möglichkeit, Byte-Manipulationen durchzuführen. Es vereinfacht die Konvertierung zwischen Byte-Arrays und verschiedenen numerischen Typen.
Byte-Array in Ganzzahl
Um ein Byte-Array in eine Ganzzahl umzuwandeln, verwenden Sie getShortMethode von ByteBuffer:
<code class="java">byte[] arr = { 0x00, 0x01 }; ByteBuffer wrapped = ByteBuffer.wrap(arr); // big-endian by default short num = wrapped.getShort(); </code>
Der umschlossene ByteBuffer wird aus dem Eingabebyte-Array erstellt. Standardmäßig geht Java von einer Big-Endian-Reihenfolge aus, wobei das Byte ganz links das höchstwertige Bit darstellt. Alternativ können Sie für die Little-Endian-Reihenfolge getIntLittleEndian verwenden.
Ganzzahl in Byte-Array
Um eine Ganzzahl in ein Byte-Array umzuwandeln, nutzen Sie die putShort Methode von ByteBuffer:
<code class="java">ByteBuffer dbuf = ByteBuffer.allocate(2); dbuf.putShort(num); byte[] bytes = dbuf.array(); </code>
Beispiel
Betrachten Sie eine Ganzzahl 1. Bei der Konvertierung in ein Byte-Array wird sie zu {0x00, 0x01}. Dies liegt daran, dass 1 eine 16-Bit-Ganzzahl ohne Vorzeichen in Binärform ist und jedes Byte 8 Bits darstellt. Das Byte ganz links speichert die höchstwertigen Bits (0x00) und das Byte ganz rechts enthält die niedrigstwertigen Bits (0x01).
Das obige ist der detaillierte Inhalt vonWie konvertiere ich in Java zwischen Byte-Arrays und Ganzzahlen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!