Конвертировать Hex в ASCII
Нужно преобразовать строку hex "4E A8 40 74 00 53 E0" в строку ASCII "N @t S ". Нигде не могу найти код, если кто знает, подскажите пожалуйста
Ответы (1 шт):
Автор решения: Nikolay Sulimov
→ Ссылка
Просто используйте цикл for, чтобы пройти через каждую пару символов в строке, преобразовать их в символ
String hex = "4EA840740053E0";
StringBuilder output = new StringBuilder();
for (int i = 0; i < hex.length(); i+=2) {
String str = hex.substring(i, i+2);
output.append((char)Integer.parseInt(str, 16));
}
System.out.println(output);
При использовании Java 8+ можно реализовать это таким образом
System.out.println(Arrays
.stream(hex.split("(?<=\\G..)"))
.map(s -> Character.toString((char)Integer.parseInt(s, 16)))
.collect(Collectors.joining()));