Я пытаюсь преобразовать строку в ее шестнадцатеричное представление. У меня есть следующий (тестовый) вход
�¾��Hello World!
Правильное шестнадцатеричное представление должно быть:
00 BE 00 00 48 65 6C 6C 6F 20 57 6F 72 6C 64 21
Я пытаюсь отформатировать строку с
String.format("%x", new BigInteger(toConvert.getBytes("ISO-8859-1"))).split("(?<=\\G.{2})");
Но эта операция форматирования игнорирует первый символ (если это шестнадцатеричный ноль) и приводит к BE 00 00 48 65 6C 6C 6F 20 57 6F 72 6C 64 21
Я уже немного поигрался с ролями вокруг "%x"
, но ничего не помогло.
Но я уверен, что вы можете мне помочь:)