Here you can find the source of toHEX(byte[] ba)
Parameter | Description |
---|---|
ba | array of bytes to be converted into hex |
public static String toHEX(byte[] ba)
//package com.java2s; //License from project: Open Source License public class Main { /** array mapping hex value (0-15) to corresponding hex digit (0-9a-f). */ public static final char[] HEX_DIGITS = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f' }; /**/*from w w w . j a v a 2s . c o m*/ * utility method to convert a byte array to a hexadecimal string. * <p> * Each byte of the input array is converted to 2 hex symbols, * using the HEX_DIGITS array for the mapping, with spaces after each pair. * @param ba array of bytes to be converted into hex * @return hex representation of byte array */ public static String toHEX(byte[] ba) { int length = ba.length; char[] buf = new char[length * 3]; for (int i = 0, j = 0, k; i < length;) { k = ba[i++]; buf[j++] = HEX_DIGITS[(k >>> 4) & 0x0F]; buf[j++] = HEX_DIGITS[k & 0x0F]; buf[j++] = ' '; } return new String(buf); } /** * utility method to convert a short array to a hexadecimal string. * <p> * Each word of the input array is converted to 4 hex symbols, * using the HEX_DIGITS array for the mapping, with spaces after every 4. * @param ia array of shorts to be converted into hex * @return hex representation of short array */ public static String toHEX(short[] ia) { int length = ia.length; char[] buf = new char[length * 5]; for (int i = 0, j = 0, k; i < length;) { k = ia[i++]; buf[j++] = HEX_DIGITS[(k >>> 12) & 0x0F]; buf[j++] = HEX_DIGITS[(k >>> 8) & 0x0F]; buf[j++] = HEX_DIGITS[(k >>> 4) & 0x0F]; buf[j++] = HEX_DIGITS[k & 0x0F]; buf[j++] = ' '; } return new String(buf); } /** * utility method to convert an int array to a hexadecimal string. * <p> * Each word of the input array is converted to 8 hex symbols, * using the HEX_DIGITS array for the mapping, with spaces after every 4. * @param ia array of ints to be converted into hex * @return hex representation of int array */ public static String toHEX(int[] ia) { int length = ia.length; char[] buf = new char[length * 10]; for (int i = 0, j = 0, k; i < length;) { k = ia[i++]; buf[j++] = HEX_DIGITS[(k >>> 28) & 0x0F]; buf[j++] = HEX_DIGITS[(k >>> 24) & 0x0F]; buf[j++] = HEX_DIGITS[(k >>> 20) & 0x0F]; buf[j++] = HEX_DIGITS[(k >>> 16) & 0x0F]; buf[j++] = ' '; buf[j++] = HEX_DIGITS[(k >>> 12) & 0x0F]; buf[j++] = HEX_DIGITS[(k >>> 8) & 0x0F]; buf[j++] = HEX_DIGITS[(k >>> 4) & 0x0F]; buf[j++] = HEX_DIGITS[k & 0x0F]; buf[j++] = ' '; } return new String(buf); } }