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

  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

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: Simple Testing
Hex String Conversion: 53696d706c652054657374696e67

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;

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.util.Arrays;
import java.nio.charset.Charset;
import java.nio.charset.StandardCharsets;
import java.nio.*;

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

  • Wie man ein Int-Array in Java umkehrt
  • Wie initialisiert man ein leeres Array in Java
  • Verwandter Artikel - Java String

  • Wie man zwei Arrays in Java verkettet
  • Wie man Array-Elemente in Java sortiert