Date/Time Средний

Преобразуйте шестнадцатеричные строки в байтовые массивы и обратно с помощью HexFormat.

✕ Java 8
// Pad to 2 digits, uppercase
String hex = String.format(
    "%02X", byteValue);
// Parse hex string
int val = Integer.parseInt(
    "FF", 16);
✓ Java 17+
var hex = HexFormat.of()
    .withUpperCase();
String s = hex.toHexDigits(
    byteValue);
byte[] bytes =
    hex.parseHex("48656C6C6F");
Заметили проблему в этом коде? Сообщите нам.
📐

Двунаправленность

Преобразуйте байты→hex и hex→байты с помощью единого API.

🔧

Настраиваемость

Разделители, префикс, суффикс, регистр символов.

📦

Поддержка массивов

Кодирование и декодирование целых байтовых массивов за один раз.

Старый подход
Ручное шестнадцатеричное преобразование
Современный подход
HexFormat
Начиная с JDK
17
Сложность
Средний
HexFormat
Доступно

Широко доступен начиная с JDK 17 LTS (сентябрь 2021)

HexFormat обеспечивает двунаправленное кодирование и декодирование hex для байтов, целых чисел и массивов. Разделители, префиксы, суффиксы и регистр символов настраиваемы. Ручное форматирование и разбор больше не нужны.