devxlogo

Hex Your Bytes to Display

Hex Your Bytes to Display

Editor’s Note:This text has changed from the original version.

Have you ever needed toconvert a byte array (byte []) into a displayable hex string? The JDK does notprovide this capability for byte arrays, only for the wrapper classes.

Below is the code which will convert a byte array into a displayable “hex” representation of the string.

Now you can turn

 byte b[] = {0xf1, 0x0d,  0x3c, 0x44};

into:

 String s =  "F10D3C44"

like this:

 String s =  byteArrayToHexString(b);
  • provides the same functionality found in Integer.toHexString(), Short.toHexString(), etc…
  • Simple to use
  • Fast, efficient and accurate
  • Tested and proven

Here’s the code:

 /**
* Convert a byte[] array to readable string format. This makes the "hex"readable!
* @return result String buffer in String format
* @param in byte[] buffer to convert to string format
*/
static String byteArrayToHexString(byte in[]) {
byte ch = 0x00;
int i = 0;
if (in == null || in.length <= 0)
return null;

String pseudo[] = {"0", "1", "2","3", "4", "5", "6", "7", "8","9", "A", "B", "C", "D", "E","F"};
StringBuffer out = new StringBuffer(in.length * 2);

while (i < in.length) {
ch = (byte) (in[i] & 0xF0); // Strip offhigh nibble
ch = (byte) (ch >>> 4); // shift the bits down
ch = (byte) (ch & 0x0F); // must do this is high order bit is on!
out.append(pseudo[ (int) ch]); // convert thenibble to a String Character
ch = (byte) (in[i] & 0x0F); // Strip offlow nibble
out.append(pseudo[ (int) ch]); // convert thenibble to a String Character
i++;
}
String rslt = new String(out);
return rslt;
}

Stay tuned, I’ll present some additionalroutines which take the “hex” data and format it into a “Hex Dump”format like: 0000: 32 00 00 00 00 49 99 04 13 14 56 20 17 552B 3F ____[2 I

See also  Professionalism Starts in Your Inbox: Keys to Presenting Your Best Self in Email
devxblackblue

About Our Editorial Process

At DevX, we’re dedicated to tech entrepreneurship. Our team closely follows industry shifts, new products, AI breakthroughs, technology trends, and funding announcements. Articles undergo thorough editing to ensure accuracy and clarity, reflecting DevX’s style and supporting entrepreneurs in the tech sphere.

See our full editorial policy.

About Our Journalist