Maison > Java > javaDidacticiel > Comment convertir efficacement un tableau d'octets en hexadécimal en Java ?

Comment convertir efficacement un tableau d'octets en hexadécimal en Java ?

Linda Hamilton
Libérer: 2024-11-29 02:49:09
original
492 Les gens l'ont consulté

How to Efficiently Convert a Byte Array to Hexadecimal in Java?

Conversion d'un tableau d'octets en hexadécimal en Java

On peut rencontrer une situation où il faut convertir un tableau d'octets en valeurs hexadécimales correspondantes. Java fournit une méthode simple pour réaliser cette conversion efficacement.

Implémentation Java

L'approche la plus concise pour convertir un tableau d'octets en hexadécimal consiste à utiliser la classe StringBuilder :

byte[] bytes = {-1, 0, 1, 2, 3 };
StringBuilder sb = new StringBuilder();
for (byte b : bytes) {
    sb.append(String.format("%02X ", b));
}
System.out.println(sb.toString());
Copier après la connexion

Ce code parcourt chaque octet du tableau, le convertit en une chaîne hexadécimale avec des zéros non significatifs (X) et l'ajoute à la chaîne constructeur. La chaîne résultante contient les valeurs hexadécimales séparées par des espaces.

Interprétation alternative

Certains scénarios peuvent nécessiter la conversion d'un tableau de chaînes de valeurs décimales en chaînes hexadécimales. Cela peut être réalisé comme suit :

String[] arr = {"-1", "0", "10", "20" };
for (int i = 0; i < arr.length; i++) {
    arr[i] = String.format("%02x", Byte.parseByte(arr[i]));
}
System.out.println(java.util.Arrays.toString(arr));
Copier après la connexion

Ce code convertit chaque chaîne du tableau en octet, puis utilise la méthode String.format pour créer une chaîne hexadécimale avec des zéros non significatifs.

Considérations

Notez que Integer.toHexString(int) peut également être utilisé, mais soyez prudent quant à l'extension de signe lorsque vous travaillez avec des valeurs d'octets négatives. Alternativement, la solution String.format est plus fiable et flexible.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal