Java Program to Convert Byte Array to Hexadecimal

To understand this example, you should have the knowledge of the following Java programming topics:


Example 1: Convert Byte Array to Hex value

public class ByteHex {

    public static void main(String[] args) {

        byte[] bytes = {10, 2, 15, 11};

        for (byte b : bytes) {
            String st = String.format("%02X", b);
            System.out.print(st);
        }
    }
}

Output

0A020F0B

In the above program, we have a byte array named bytes. To convert byte array to a hex value, we loop through each byte in the array and use String's format().

We use %02X to print two places (02) of Hexadecimal (X) value and store it in the string st.

This is a relatively slower process for large byte array conversion. We can dramatically increase the speed of execution using byte operations shown below.


Example 2: Convert Byte Array to Hex value using byte operations

public class ByteHex {

    private final static char[] hexArray = "0123456789ABCDEF".toCharArray();
    public static String bytesToHex(byte[] bytes) {
        char[] hexChars = new char[bytes.length * 2];
        for ( int j = 0; j < bytes.length; j++ ) {
            int v = bytes[j] & 0xFF;
            hexChars[j * 2] = hexArray[v >>> 4];
            hexChars[j * 2 + 1] = hexArray[v & 0x0F];
        }
        return new String(hexChars);
    }

    public static void main(String[] args) {

        byte[] bytes = {10, 2, 15, 11};

        String s = bytesToHex(bytes);
        System.out.println(s);

    }
}

The output of the program is the same as Example 1.

Did you find this article helpful?

Your builder path starts here. Builders don't just know how to code, they create solutions that matter.

Escape tutorial hell and ship real projects.

Try Programiz PRO
  • Real-World Projects
  • On-Demand Learning
  • AI Mentor
  • Builder Community