/** * Appends 2 characters to a StringBuilder with the byte in a "Big Endian" * hexidecimal format. For example, a byte 0x34 will be appended as a * String in format "34". A byte of value 0 will be appended as "00". * @param buffer The StringBuilder the byte value in hexidecimal format * will be appended to. If the buffer is null, this method will throw * a NullPointerException. * @param value The byte value that will be converted to a hexidecimal String. */ static public void appendHexString(StringBuilder buffer, byte value) { assertNotNull(buffer); int nibble = (value & 0xF0) >>> 4; buffer.append(HEX_TABLE[nibble]); nibble = (value & 0x0F); buffer.append(HEX_TABLE[nibble]); }
/** * Appends 2 characters to a StringBuilder with the byte in a "Big Endian" * hexidecimal format. For example, a byte 0x34 will be appended as a * String in format "34". A byte of value 0 will be appended as "00". * @param buffer The StringBuilder the byte value in hexidecimal format * will be appended to. If the buffer is null, this method will throw * a NullPointerException. * @param value The byte value that will be converted to a hexidecimal String. */ static public void appendHexString(StringBuilder buffer, byte value) { assertNotNull(buffer); int nibble = (value & 0xF0) >>> 4; buffer.append(HEX_TABLE[nibble]); nibble = (value & 0x0F); buffer.append(HEX_TABLE[nibble]); }
/** * Appends 4 characters to a StringBuilder with the short in a "Big Endian" * hexidecimal format. For example, a short 0x1234 will be appended as a * String in format "1234". A short of value 0 will be appended as "0000". * @param buffer The StringBuilder the short value in hexidecimal format * will be appended to. If the buffer is null, this method will throw * a NullPointerException. * @param value The short value that will be converted to a hexidecimal String. */ static public void appendHexString(StringBuilder buffer, short value) { assertNotNull(buffer); int nibble = (value & 0xF000) >>> 12; buffer.append(HEX_TABLE[nibble]); nibble = (value & 0x0F00) >>> 8; buffer.append(HEX_TABLE[nibble]); nibble = (value & 0x00F0) >>> 4; buffer.append(HEX_TABLE[nibble]); nibble = (value & 0x000F); buffer.append(HEX_TABLE[nibble]); }
/** * Appends 4 characters to a StringBuilder with the short in a "Big Endian" * hexidecimal format. For example, a short 0x1234 will be appended as a * String in format "1234". A short of value 0 will be appended as "0000". * @param buffer The StringBuilder the short value in hexidecimal format * will be appended to. If the buffer is null, this method will throw * a NullPointerException. * @param value The short value that will be converted to a hexidecimal String. */ static public void appendHexString(StringBuilder buffer, short value) { assertNotNull(buffer); int nibble = (value & 0xF000) >>> 12; buffer.append(HEX_TABLE[nibble]); nibble = (value & 0x0F00) >>> 8; buffer.append(HEX_TABLE[nibble]); nibble = (value & 0x00F0) >>> 4; buffer.append(HEX_TABLE[nibble]); nibble = (value & 0x000F); buffer.append(HEX_TABLE[nibble]); }
/** * Appends a byte array to a StringBuilder with each byte in a "Big Endian" * hexidecimal format. For example, a byte 0x34 will be appended as a * String in format "34". A byte array of { 0x34, 035 } would append "3435". * @param buffer The StringBuilder the byte array in hexidecimal format * will be appended to. If the buffer is null, this method will throw * a NullPointerException. * @param bytes The byte array that will be converted to a hexidecimal String. * If the byte array is null, this method will append nothing (a noop) */ public static void appendHexString(StringBuilder buffer, byte[] bytes) { assertNotNull(buffer); if (bytes == null) { return; // do nothing (a noop) } appendHexString(buffer, bytes, 0, bytes.length); }
/** * Appends a byte array to a StringBuilder with each byte in a "Big Endian" * hexidecimal format. For example, a byte 0x34 will be appended as a * String in format "34". A byte array of { 0x34, 035 } would append "3435". * @param buffer The StringBuilder the byte array in hexidecimal format * will be appended to. If the buffer is null, this method will throw * a NullPointerException. * @param bytes The byte array that will be converted to a hexidecimal String. * If the byte array is null, this method will append nothing (a noop) */ public static void appendHexString(StringBuilder buffer, byte[] bytes) { assertNotNull(buffer); if (bytes == null) { return; // do nothing (a noop) } appendHexString(buffer, bytes, 0, bytes.length); }
/** * Appends 8 characters to a StringBuilder with the int in a "Big Endian" * hexidecimal format. For example, a int 0xFFAA1234 will be appended as a * String in format "FFAA1234". A int of value 0 will be appended as "00000000". * @param buffer The StringBuilder the int value in hexidecimal format * will be appended to. If the buffer is null, this method will throw * a NullPointerException. * @param value The int value that will be converted to a hexidecimal String. */ static public void appendHexString(StringBuilder buffer, int value) { assertNotNull(buffer); int nibble = (value & 0xF0000000) >>> 28; buffer.append(HEX_TABLE[nibble]); nibble = (value & 0x0F000000) >>> 24; buffer.append(HEX_TABLE[nibble]); nibble = (value & 0x00F00000) >>> 20; buffer.append(HEX_TABLE[nibble]); nibble = (value & 0x000F0000) >>> 16; buffer.append(HEX_TABLE[nibble]); nibble = (value & 0x0000F000) >>> 12; buffer.append(HEX_TABLE[nibble]); nibble = (value & 0x00000F00) >>> 8; buffer.append(HEX_TABLE[nibble]); nibble = (value & 0x000000F0) >>> 4; buffer.append(HEX_TABLE[nibble]); nibble = (value & 0x0000000F); buffer.append(HEX_TABLE[nibble]); }
/** * Appends 8 characters to a StringBuilder with the int in a "Big Endian" * hexidecimal format. For example, a int 0xFFAA1234 will be appended as a * String in format "FFAA1234". A int of value 0 will be appended as "00000000". * @param buffer The StringBuilder the int value in hexidecimal format * will be appended to. If the buffer is null, this method will throw * a NullPointerException. * @param value The int value that will be converted to a hexidecimal String. */ static public void appendHexString(StringBuilder buffer, int value) { assertNotNull(buffer); int nibble = (value & 0xF0000000) >>> 28; buffer.append(HEX_TABLE[nibble]); nibble = (value & 0x0F000000) >>> 24; buffer.append(HEX_TABLE[nibble]); nibble = (value & 0x00F00000) >>> 20; buffer.append(HEX_TABLE[nibble]); nibble = (value & 0x000F0000) >>> 16; buffer.append(HEX_TABLE[nibble]); nibble = (value & 0x0000F000) >>> 12; buffer.append(HEX_TABLE[nibble]); nibble = (value & 0x00000F00) >>> 8; buffer.append(HEX_TABLE[nibble]); nibble = (value & 0x000000F0) >>> 4; buffer.append(HEX_TABLE[nibble]); nibble = (value & 0x0000000F); buffer.append(HEX_TABLE[nibble]); }
/** * Appends a byte array to a StringBuilder with each byte in a "Big Endian" * hexidecimal format. For example, a byte 0x34 will be appended as a * String in format "34". A byte array of { 0x34, 035 } would append "3435". * @param buffer The StringBuilder the byte array in hexidecimal format * will be appended to. If the buffer is null, this method will throw * a NullPointerException. * @param bytes The byte array that will be converted to a hexidecimal String. * If the byte array is null, this method will append nothing (a noop) * @param offset The offset in the byte array to start from. If the offset * or length combination is invalid, this method will throw an IllegalArgumentException. * @param length The length (from the offset) to conver the bytes. If the offset * or length combination is invalid, this method will throw an IllegalArgumentException. */ static public void appendHexString(StringBuilder buffer, byte[] bytes, int offset, int length) { assertNotNull(buffer); if (bytes == null) { return; // do nothing (a noop) } assertOffsetLengthValid(offset, length, bytes.length); int end = offset + length; for (int i = offset; i < end; i++) { int nibble1 = (bytes[i] & 0xF0) >>> 4; int nibble0 = (bytes[i] & 0x0F); buffer.append(HEX_TABLE[nibble1]); buffer.append(HEX_TABLE[nibble0]); } }
/** * Appends a byte array to a StringBuilder with each byte in a "Big Endian" * hexidecimal format. For example, a byte 0x34 will be appended as a * String in format "34". A byte array of { 0x34, 035 } would append "3435". * @param buffer The StringBuilder the byte array in hexidecimal format * will be appended to. If the buffer is null, this method will throw * a NullPointerException. * @param bytes The byte array that will be converted to a hexidecimal String. * If the byte array is null, this method will append nothing (a noop) * @param offset The offset in the byte array to start from. If the offset * or length combination is invalid, this method will throw an IllegalArgumentException. * @param length The length (from the offset) to conver the bytes. If the offset * or length combination is invalid, this method will throw an IllegalArgumentException. */ static public void appendHexString(StringBuilder buffer, byte[] bytes, int offset, int length) { assertNotNull(buffer); if (bytes == null) { return; // do nothing (a noop) } assertOffsetLengthValid(offset, length, bytes.length); int end = offset + length; for (int i = offset; i < end; i++) { int nibble1 = (bytes[i] & 0xF0) >>> 4; int nibble0 = (bytes[i] & 0x0F); buffer.append(HEX_TABLE[nibble1]); buffer.append(HEX_TABLE[nibble0]); } }