HexFormat — 16진수 변환 포맷터
HexFormat — 16진수 변환 포맷터
HexFormat은 바이트·문자를 16진수 문자열로, 또는 그 반대로 변환하는 클래스예요. 접두사(prefix), 접미사(suffix), 구분자(delimiter) 같은 추가 포맷 마크업을 지원해요.
본문
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()— 대문자 여부, 구분자, 접두사, 접미사에 대한 설명을 반환해요.