Related Articles
Java Program to Convert Byte Array to Hexadecimal
• Last Updated : 28 Jan, 2021

In the problem given a byte array and the task is to convert the Byte Array to Hexadecimal value. A Java Byte Array is used to store byte data types only and the default value of each element is 0.

Example :

Input : byteArray = { 9, 2, 14, 10 }
Output: 09020E0A

Input : byteArray = { 7, 12, 13, 8 }
Output: 070C0D08

Approach:

1. Iterate through each byte in the array and convert it to a hexadecimal value.
2. The string.format() is used to print the number of places of a hexadecimal value and store it in a string.
3. %02X is used to print two places of a hexadecimal (X).

Below is the implementation of the above approach :

## Java

 // Java Program to convert byte// array to hexadecimal valueimport java.io.*;  class GFG {    public static void        convertByteToHexadecimal(byte[] byteArray)    {        // Iterating through each byte in the array        for (byte i : byteArray) {            String hex = String.format("%02X", i);            System.out.print(hex);        }    }    public static void main(String[] args)    {        byte[] byteArray = { 9, 2, 14, 10 };        convertByteToHexadecimal(byteArray);    }}
Output

09020E0A

Efficient Approach:

In the above approach if the byte array gets larger, then the process becomes slow so to increase the efficiency a byte operation is used to convert the byte array to a hexadecimal value.

Here “>>>” is the unsigned right shift operator. And, toCharArray() method converts the given string into a sequence of characters.

Below is the implementation of the above approach :

## Java

 // Java program to convert byte array to// hexadecimal array using byte operationimport java.io.*;  class GFG {    public static void        convertByteToHexadecimal(byte[] byteArray)    {        int len = byteArray.length;          // storing the hexadecimal values        char[] hexValues = "0123456789ABCDEF".toCharArray();        char[] hexCharacter = new char[len * 2];          // using  byte operation converting byte        // array to hexadecimal value        for (int i = 0; i < len; i++) {            int v = byteArray[i] & 0xFF;            hexCharacter[i * 2] = hexValues[v >>> 4];            hexCharacter[i * 2 + 1] = hexValues[v & 0x0F];        }        System.out.println(hexCharacter);    }    public static void main(String[] args)    {        byte[] bytes = { 9, 2, 14, 10 };        convertByteToHexadecimal(bytes);    }}
Output
09020E0A

Attention reader! Don’t stop learning now. Get hold of all the important Java Foundation and Collections concepts with the Fundamentals of Java and Java Collections Course at a student-friendly price and become industry ready. To complete your preparation from learning a language to DS Algo and many more,  please refer Complete Interview Preparation Course.

My Personal Notes arrow_drop_up