HexEncode { public static byte[] bytesFromHexString(String values) { String target = ""; if (values != null) { target = values; } String[] octets = target.split(":"); byte[] ret = new byte[octets.length]; for (int i = 0; i < octets.length; i++) { ret[i] = Integer.valueOf(octets[i], 16).byteValue(); } return ret; } private  HexEncode(); static String bytesToHexString(byte[] bytes); static String longToHexString(long val); static byte[] bytesFromHexString(String values); static long stringToLong(String values); static String bytesToHexStringFormat(byte[] bytes);  }
@Test public void testBytesFromHexString() { String byteStr1 = "00:11:22:33:44:55"; byte[] byteArray1 = new byte[(byteStr1.length() + 1) / 3]; byteArray1 = HexEncode.bytesFromHexString(byteStr1); Assert.assertTrue(byteArray1[0] == (byte) 0x0); Assert.assertTrue(byteArray1[1] == (byte) 0x11); Assert.assertTrue(byteArray1[2] == (byte) 0x22); Assert.assertTrue(byteArray1[3] == (byte) 0x33); Assert.assertTrue(byteArray1[4] == (byte) 0x44); Assert.assertTrue(byteArray1[5] == (byte) 0x55); String byteStr2 = "00:11:22:33:44:55"; byte[] byteArray2 = new byte[(byteStr2.length() + 1) / 3]; byteArray2 = HexEncode.bytesFromHexString(byteStr2); Assert.assertFalse(byteArray2[0] == (byte) 0x55); Assert.assertFalse(byteArray2[1] == (byte) 0x44); Assert.assertFalse(byteArray2[2] == (byte) 0x33); Assert.assertFalse(byteArray2[3] == (byte) 0x22); Assert.assertFalse(byteArray2[4] == (byte) 0x11); Assert.assertFalse(byteArray2[5] == (byte) 0x0); }