Konvertieren Sie Byte-Array in Integer in Java

Siddharth Swami 12 Oktober 2023
Konvertieren Sie Byte-Array in Integer in Java

Byte gehört in Java zu den primitiven Datentypen. Ein Byte-Array in Java ist ein Array, das Bytes enthält und eine Sammlung von Binärdaten speichert. Der Integer-Datentyp repräsentiert Integer in Java. Bytes und Integer sind eng verknüpft, da binäre Daten in Integer-Form umgewandelt werden können.

In diesem Artikel konvertieren wir ein Byte-Array in einen Integer-Typ in Java.

Die im Java-Paket java.nio vorhandene Klasse ByteBuffer stellt uns eine Methode zur Verfügung, um das Byte-Array in einen Integer umzuwandeln.

Siehe den Code unten.

import java.nio.ByteBuffer;

public class Test {
  public static void main(String[] args) {
    byte[] bytes = {0x00, 0x01, 0x03, 0x10};
    System.out.println(ByteBuffer.wrap(bytes).getInt() + " ");
  }
}

Ausgabe :

66320

Im obigen Code haben wir einen Bytebuffer einer bestimmten Länge des Byte-Arrays erstellt und danach die nächsten vier Bytes als Integer-Typ daraus gelesen. Die Methode ByteBuffer verpackt das Byte-Array in einen Puffer und die Funktion getInt() liest die nächsten vier Bytes der Klasse als ganze Zahl.

Unten haben wir ein weiteres Beispiel für die Klasse ByteBuffer. Im folgenden Code weisen wir den Speicher nur durch zwei zu. Die von den Methoden ausgeführte Funktion ist dieselbe wie die vorherige. Hier konvertiert es jedes Byte separat, wie wir sehen können, dass es zwei verschiedene Ausgaben liefert.

Siehe den Code unten.

import java.nio.*;
class Byte_Array_To_Int {
  static void byte_To_Int(byte ar[]) {
    ByteBuffer wrapped = ByteBuffer.wrap(ar); // big-endian by default
    short num = wrapped.getShort();
    ByteBuffer dbuf = ByteBuffer.allocate(2); // allocates the memory by 2.
    dbuf.putShort(num);
    byte[] bytes = dbuf.array();
    for (int i = 0; i < bytes.length; i++) { // loop for printing the elements.

      System.out.println(bytes[i]);
    }
  }
  public static void main(String[] args) {
    byte[] b = {0x03, 0x04}; // byte type array.
    byte_To_Int(b);
  }

Ausgabe :

3
4 

Der ByteBuffer.wrap() verpackt das Array in einen Puffer. Standardmäßig werden die Daten in Form des Big-Endian-Typs 0x00 gespeichert. Beachten Sie, dass wir in der Ausgabe zwei verschiedene Ganzzahlen haben. Wie bereits erwähnt, nimmt dieser Code jedes im Array vorhandene Element und konvertiert es entsprechend.

Verwandter Artikel - Java Array