Получив байтовый массив из шестнадцатеричной строки, используя hexStringtoByteArray
, вы можете создать строку, используя new String(bytes, "UTF-8")
, где байты - это байтовый массив из вашего метода.Указывая UTF-8 при создании строки, вы получаете символы, отличные от шестнадцатеричных.
Поэтому новый метод будет следующим:
public String hexStringtoByteArray(String str) {
byte[] bytes = new byte[str.length() / 2];
for (int i = 0; i < bytes.length; i++) {
bytes[i] = (byte) Integer.parseInt(str.substring(2 * i, 2 * i + 2), 16);
}
return new String(bytes, "UTF-8");
}