У меня есть строка в Java
, которая содержит 32 символа:
String tempHash = "123456789ABCDEF123456789ABCDEF12";
Каждый символ в строке выше представляет шестнадцатеричное значение. Мне нужно преобразовать его в другую строку, которая содержит 8 байтов, рассчитанных на каждый гекс из строки выше. Таким образом, в приведенном выше примере строка вывода будет:
"00000001 00000010 00000011 000001000 000001001 000001011 ..."
как я могу это сделать?
Я пытался сделать:
byte[] bytes1 = toByteArray(tempHash);
где
public static byte[] toByteArray(String s) {
return DatatypeConverter.parseHexBinary(s);
}
но когда я перебираю этот массив:
for (byte singleByte: bytes1) {
System.out.println(singleByte);
}
для первого символа я получаю 18
вместо 00000001
. Я немного потерян здесь. Не могли бы вы помочь мне с этим?