HexFormat — 16진수 변환 포맷터

HexFormat — 16진수 변환 포맷터

HexFormat바이트·문자를 16진수 문자열로, 또는 그 반대로 변환하는 클래스예요. 접두사(prefix), 접미사(suffix), 구분자(delimiter) 같은 추가 포맷 마크업을 지원해요.

출처: Java API Reference

본문

public final class HexFormat extends Object

미리 설정된 파라미터를 가진 팩토리로 of()ofDelimiter(delimiter)가 있어요. 다른 파라미터 조합은 withXXX 메서드들이 수정된 복사본을 반환해요.

팩토리와 설정

  • of() — 구분자 없이 소문자를 쓰는 포맷터를 반환해요.
  • ofDelimiter(String delimiter) — 구분자와 소문자를 쓰는 포맷터를 반환해요.
  • withDelimiter(String) / withPrefix(String) / withSuffix(String) — 해당 설정의 복사본을 반환해요.
  • withUpperCase() / withLowerCase() — 대문자(0-9, A-F) 또는 소문자(0-9, a-f) 16진수를 쓰는 복사본을 반환해요.
  • 조회: delimiter(), prefix(), suffix(), isUpperCase().

기본형 ↔ 16진수 문자열

  • toHexDigits(byte/char/short/int/long/...) — 기본형 값에 대해 2개(byte)~16개(long)의 16진수 문자를 반환해요. toLowHexDigit(int), toHighHexDigit(int)는 각각 하위/상위 4비트의 16진수 문자를 반환해요.
  • fromHexDigits(CharSequence) — 최대 8자(32비트 int)의 16진수 문자열을 int로 파싱해요. fromHexDigitsToLong은 최대 16자(64비트 long)를 파싱해요. fromHexDigit(int)는 한 문자를 0~15 값으로 변환해요.
  • isHexDigit(int) — 문자가 유효한 16진수 문자/코드포인트인지 검사해요.

바이트 배열 ↔ 포맷된 16진수

  • formatHex(byte[]) — 바이트 배열을 "접두사 + 16진수 2자 + 접미사" 형태로 포맷해요. 각 값 뒤(마지막 제외)에 구분자가 붙어요.
  • formatHex(Appendable, byte[], from, to) — 포맷된 문자열을 Appendable(예: StringBuilder, PrintStream)에 추가해요.
  • parseHex(CharSequence) / parseHex(char[], from, to) — 포맷된 16진수 문자열을 다시 바이트 배열로 파싱해요. 대소문자를 구분하지 않아요.

기타

  • equals(Object o) — 같은 파라미터를 가진 HexFormat인지 비교해요.
  • toString() — 대문자 여부, 구분자, 접두사, 접미사에 대한 설명을 반환해요.

더 알아보기 (Learn more)