Cómo convertir un array de bytes en una cadena hexadecimal en Java
-
Hex.encodeHexString()
método para convertir un array de bytes en una cadena hexadecimal en Java -
DatatypeConverter()
método para convertir bytes Array en hexadecimal String en Java -
append(.format)
método para la conversión del array de bytes en cadena hexadecimal en Java
En este tutorial, veremos cómo convertir un array de bytes en una cadena hexadecimal en Java.
Hex.encodeHexString()
método para convertir un array de bytes en una cadena hexadecimal en Java
El primer método para convertir el array de bytes en una cadena hexadecimal en Java es el método Hex.encodeHexString()
. Ya que es una biblioteca común de apache
, por lo tanto el método apache.commons.codec.binary.Hex()
necesita ser importado primero dentro del compilador.
Códigos de ejemplo:
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));
}
}
Producción :
Byte Array:
[83, 105, 109, 112, 108, 101, 84, 101, 115, 116, 105, 110, 103]
Hex String Conversion: 53696d706c6554657374696e67
DatatypeConverter()
método para convertir bytes Array en hexadecimal String en Java
Otro enfoque es el método javax.xml.bind.DatatypeConverter.printHexBinary()
en Java. Este método toma los bytes y los convierte en hex
de un array.
Códigos de ejemplo:
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);
}
}
Producción :
Byte Array:
[0, 10, 20, 30, 40]
Hex String Conversion: 000A141E28
append(.format)
método para la conversión del array de bytes en cadena hexadecimal en Java
Otro método que puede ser usado es incluir append(.format)
usando StringBuilder
en Java. Funciona convirtiendo todos los valores de array de bytes
y convirtiéndolos uno a uno en cadena hexadecimal
.
Códigos de ejemplo:
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();
}
}
Producción :
Byte Array:
[83, 105, 109, 112, 108, 101, 84, 101, 115, 116, 105, 110, 103]
SimpleTesting
Hex String Conversion: 53696d706c6554657374696e67
Artículo relacionado - Java Array
- Cómo concatenar dos arrays en Java
- Eliminar duplicados del array en Java
- Contar elementos repetidos en una matriz en Java
- Llenar una matriz 2D en Java
- Obtenga el subconjunto de una matriz en Java