Comment convertir un tableau d'octets en chaîne hexadécimale en Java

  1. Méthode Hex.encodeHexString() pour convertir un tableau d’octets en chaîne hexadécimale en Java
  2. Méthode DatatypeConverter() pour convertir un tableau d’octets en chaîne hexadécimale en Java
  3. méthode append(.format) pour la conversion d’un tableau d’octets en chaîne hexadécimale en Java

Dans ce tutoriel, nous verrons comment convertir un tableau d’octets en chaîne hexadécimale en Java.

Méthode Hex.encodeHexString() pour convertir un tableau d’octets en chaîne hexadécimale en Java

La première méthode pour convertir un tableau d’octets en chaîne hexagonale en Java est la méthode Hex.encodeHexString(). Comme il s’agit d’une bibliothèque commune d’apache, la méthode apache.commons.codec.binary.Hex() doit être importée en premier dans le compilateur.

Exemples de 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));
 }
}

Production:

Byte Array: Simple Testing
Hex String Conversion: 53696d706c652054657374696e67

Méthode DatatypeConverter() pour convertir un tableau d’octets en chaîne hexadécimale en Java

Une autre approche est la méthode javax.xml.bind.DatatypeConverter.printHexBinary() en Java. Cette méthode prend les octets et les convertit en hex à partir d’un tableau.

Exemples de 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);
    }
}

Production:

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

méthode append(.format) pour la conversion d’un tableau d’octets en chaîne hexadécimale en Java

Une autre méthode qui peut être utilisée est d’inclure append(.format) en utilisant stringBuilder en Java. Elle fonctionne en convertissant chaque valeur d’un tableau d’octets et en convertissant une par une en chaîne hexadécimale en conséquence.

Exemples de 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();
    }
}

Production:

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

Article connexe - Java Array

  • Comment vérifier si un tableau est nul/vide en Java
  • Comment initialiser un tableau de chaînes de caractères en Java
  • Article connexe - Java String

  • Comment convertir un tableau en une liste en Java
  • Comment concaténer deux tableaux en Java