Cómo convertir una matriz de bytes en una cadena hexagonal en Java

  1. Hex.encodeHexString() método para convertir un array de bytes en una cadena hexadecimal en Java
  2. DatatypeConverter() método para convertir bytes Array en hexadecimal String en Java
  3. append(.format) método para la conversión de la matriz de bytes en cadena hexagonal en Java

En este tutorial, veremos cómo convertir una matriz de bytes en una cadena hexagonal en Java.

Hex.encodeHexString() método para convertir un array de bytes en una cadena hexadecimal en Java

El primer método para convertir la matriz de bytes en una cadena hexagonal 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: Simple Testing
Hex String Conversion: 53696d706c652054657374696e67

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;

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 de la matriz de bytes en cadena hexagonal 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 hexagonal.

Códigos de ejemplo:

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

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 matrices en Java
  • Artículo relacionado - Java String

  • Cómo concatenar dos matrices en Java
  • Cómo convertir una cadena de Java en un byte
  • comments powered by Disqus