Heim >Java >javaLernprogramm >Wie konvertiere ich in Java zwischen Byte-Arrays und Ganzzahlen?

Wie konvertiere ich in Java zwischen Byte-Arrays und Ganzzahlen?

Barbara Streisand
Barbara StreisandOriginal
2024-10-26 07:46:02466Durchsuche

How do I convert between byte arrays and integers in Java?

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn