So konvertieren Sie Byte-Array in Hex-String in Java

Asad Riaz 12 Oktober 2023
  1. Hex.encodeHexString() Methode zur Konvertierung von Byte-Array in Hex-String in Java
  2. Methode DatatatypeConverter() zur Konvertierung von Byte Array in hex String in Java
  3. append(.format) Methode zur Konvertierung eines Byte-Arrays in einen Hex-String in Java
So konvertieren Sie Byte-Array in Hex-String in Java

In diesem Tutorial sehen wir, wie man Byte-Array in Hex-String in Java konvertiert.

Hex.encodeHexString() Methode zur Konvertierung von Byte-Array in Hex-String in Java

Die erste Methode zur Konvertierung von Byte-Array in Hex-String in Java ist die Hex.encodeHexString() Methode. Da es sich um eine apache’s Commons-Bibliothek handelt, muss daher die Methode apache.commons.codec.binary.Hex() zuerst in den Compiler importiert werden.

Beispiel-Codes:

import java.util.Arrays;
import org.apache.commons.codec.binary.Hex

    public class SimpleTesting {
  public static void main(String[] args) {
    byte[] byteArray = new byte[] {'S', 'i', 'm', 'p', 'l', 'e', 'T', 'e', 's', 't', 'i', 'n', 'g'};
    System.out.println("Byte Array: ");
    System.out.println(Arrays.toString(byteArray));
    System.out.println("Hex String Conversion: " + Hex.encodeHexString(byteArray));
  }
}

Ausgabe:

Byte Array: 
[83, 105, 109, 112, 108, 101, 84, 101, 115, 116, 105, 110, 103]
Hex String Conversion: 53696d706c6554657374696e67

Methode DatatatypeConverter() zur Konvertierung von Byte Array in hex String in Java

Ein anderer Ansatz ist die Methode javax.xml.bind.DatatypeConverter.printHexBinary() in Java. Diese Methode nimmt die Bytes und wandelt sie aus einem Array in Hex um.

Beispiel-Codes:

import java.util.Arrays;
import javax.xml.bind.*;

public class SimpleTesting {
  public static void main(String[] args) {
    byte byteArray[] = {(byte) 00, (byte) 10, (byte) 20, (byte) 30, (byte) 40};
    String hexString = javax.xml.bind.DatatypeConverter.printHexBinary(byteArray);
    System.out.println("Byte Array: ");
    System.out.println(Arrays.toString(byteArray));
    System.out.println("Hex String Conversion: " + hexString);
  }
}

Ausgabe:

Byte Array: 
[0, 10, 20, 30, 40]
Hex String Conversion: 000A141E28

append(.format) Methode zur Konvertierung eines Byte-Arrays in einen Hex-String in Java

Eine andere Methode, die verwendet werden kann, ist die Einbindung von append(.format) unter Verwendung von stringBuilder in Java. Es funktioniert, indem jeder einzelne Wert aus einem Byte-Array konvertiert wird und dementsprechend einer nach dem anderen in einen Hex-String umgewandelt wird.

Beispiel-Codes:

import java.nio.*;
import java.nio.charset.Charset;
import java.nio.charset.StandardCharsets;
import java.util.Arrays;

public class SimpleTesting {
  public static void main(String[] args) {
    byte[] byteArray = new byte[] {'S', 'i', 'm', 'p', 'l', 'e', 'T', 'e', 's', 't', 'i', 'n', 'g'};
    System.out.println("Byte Array: ");
    System.out.println(Arrays.toString(byteArray));
    String conversion = new String(byteArray);
    System.out.println(conversion);
    System.out.println("Hex String Conversion: " + display(byteArray));
  }
  public static String display(byte[] byteArray1) {
    StringBuilder stringBuilder = new StringBuilder();
    for (byte val : byteArray1) {
      stringBuilder.append(String.format("%02x", val & 0xff));
    }
    return stringBuilder.toString();
  }
}

Ausgabe:

Byte Array: 
[83, 105, 109, 112, 108, 101, 84, 101, 115, 116, 105, 110, 103]
SimpleTesting
Hex String Conversion: 53696d706c6554657374696e67

Verwandter Artikel - Java Array

Verwandter Artikel - Java String