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 -
Méthode
DatatypeConverter()
pour convertir un tableau d’octets en chaîne hexadécimale en Java -
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:
[83, 105, 109, 112, 108, 101, 84, 101, 115, 116, 105, 110, 103]
Hex String Conversion: 53696d706c6554657374696e67
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;
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);
}
}
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.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();
}
}
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 concaténer deux tableaux en Java
- Supprimer les doublons du tableau en Java
- Comparer les tableaux en Java
- Tableau associatif en Java
- Découper un tableau en Java