return hexString.toString();
}
+ /**
+ * Decodes a hexadecimal string into a byte array.
+ *
+ * @param hexString
+ * The hexadecimal representation to decode
+ * @return The decoded byte array
+ * @see Integer#parseInt(java.lang.String, int)
+ */
+ public static byte[] toByte(String hexString) {
+ if ((hexString.length() & 0x01) == 0x01) {
+ /* odd length, this is not correct. */
+ throw new IllegalArgumentException("hex string must have even length.");
+ }
+ byte[] dataBytes = new byte[hexString.length() / 2];
+ for (int stringIndex = 0; stringIndex < hexString.length(); stringIndex += 2) {
+ String hexNumber = hexString.substring(stringIndex, stringIndex + 2);
+ byte dataByte = (byte) Integer.parseInt(hexNumber, 16);
+ dataBytes[stringIndex / 2] = dataByte;
+ }
+ return dataBytes;
+ }
+
}