Date/Time 중급

HexFormat으로 16진수 문자열과 바이트 배열을 변환합니다.

✕ 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");
이 코드에 문제가 있나요? 알려주세요.
📐

양방향

하나의 API로 바이트→16진수, 16진수→바이트 변환을 수행합니다.

🔧

설정 가능

구분자, 접두사, 접미사, 대소문자를 설정합니다.

📦

배열 지원

전체 바이트 배열을 한 번에 인코딩/디코딩합니다.

이전 방식
수동 16진수 변환
모던 방식
HexFormat
JDK 버전
17
난이도
중급
HexFormat
사용 가능

JDK 17 LTS (2021년 9월) 이후 널리 사용 가능

HexFormat은 바이트, 정수, 배열에 대한 양방향 16진수 인코딩/디코딩을 제공합니다. 구분자, 접두사, 접미사, 대소문자를 설정할 수 있습니다. 더 이상 수동 형식 지정이나 파싱이 필요 없습니다.

공유 𝕏 🦋 in