/** * Converts an array of bytes into an array of characters representing the hexadecimal values of each byte in order. * The returned array will be double the length of the passed array, as it takes two characters to represent any * given byte. * * @param data a byte[] to convert to Hex characters * @return A char[] containing hexadecimal characters */ public static char[] encodeHex(byte[] data) { return encodeHex(data, true); }
/** * Converts an array of bytes into an array of characters representing the hexadecimal values of each byte in order. * The returned array will be double the length of the passed array, as it takes two characters to represent any * given byte. * * @param data a byte[] to convert to Hex characters * @param toLowerCase <code>true</code> converts to lowercase, <code>false</code> to uppercase * @return A char[] containing hexadecimal characters * @since 1.4 */ public static char[] encodeHex(byte[] data, boolean toLowerCase) { return encodeHex(data, toLowerCase ? DIGITS_LOWER : DIGITS_UPPER); }
/** * Converts an array of bytes into a String representing the hexadecimal values of each byte in order. The returned * String will be double the length of the passed array, as it takes two characters to represent any given byte. If * the input array is null then null is returned. The obtained string is converted to uppercase. * * @param value * @return */ public static String toHex(final byte[] value) { return (value != null) ? new String(encodeHex(value, false)) : null; }
/** * Converts an array of bytes into a String representing the hexadecimal values of each byte in order. The returned * String will be double the length of the passed array, as it takes two characters to represent any given byte. * * @param data a byte[] to convert to Hex characters * @return A String containing hexadecimal characters */ public static String encodeHexString(final byte[] data) { return new String(encodeHex(data)); }
/** * Converts an array of bytes into a String representing the hexadecimal values of each byte in order. The maximum length of the returned * String is limited by {@code maxLength} parameter. * * @param data a byte[] to convert to Hex characters * @param maxLength the maximum length of the returned string * @return A String containing hexadecimal characters */ public static String encodeHexString(final byte[] data, int maxLength) { byte[] data_ = data.length > maxLength ? Arrays.copyOf(data, maxLength) : data; final String encoded = new String(encodeHex(data_)) + (data.length > maxLength ? "...(" + (data.length - maxLength) + " more)" : ""); return encoded; }