Это происходит потому, что Integer.toHexString()
всегда будет возвращать кратчайшее возможное представление числа, то есть без начальных нулей.Итак, в вашем случае у вас есть массив из 2 байтов: [0, 0x68]
и Integer.toHexString()
вызывается дважды, первый раз, когда он возвращает 0
, и второй раз, когда он возвращает 68
.
Чтобы решить эту проблему, вам нужно добавить '0'
к каждой строке, возвращаемой Integer.toHexString()
, если длина строки равна 1.