Browse DevX
Sign up for e-mail newsletters from DevX

Tip of the Day
Language: Java
Expertise: Intermediate
Nov 6, 1999



Building the Right Environment to Support AI, Machine Learning and Deep Learning

Hex Your Bytes to Display

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

Have you ever needed to convert a byte array (byte []) into a displayable hex string? The JDK does not provide 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};
 String s =
like this:
 String s =
  • 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 off high 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 the nibble to a String Character
ch = (byte) (in[i] & 0x0F); // Strip off low nibble
out.append(pseudo[ (int) ch]); // convert the nibble to a String Character
String rslt = new String(out);
return rslt;
Stay tuned, I'll present some additional routines 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 55 2B 3F ____[2 I
Jeff Boyle
Comment and Contribute






(Maximum characters: 1200). You have 1200 characters left.



Thanks for your registration, follow us on our social networks to keep up-to-date