문자 길이는 세고 싶은 단위에 맞는 API를 고른다
String.length는 UTF-16 코드 단위 수이며 사람이 보는 글자 수와 다를 수 있습니다.
| 질문 | 단위 | 방법 |
|---|---|---|
| Java 배열 인덱스 | UTF-16 unit | length |
| Unicode 문자 수 | code point | codePointCount |
| 사용자 글자 | grapheme | BreakIterator |
| UTF-8 저장량 | byte | getBytes(UTF_8).length |
| 파일 규격 | 형식 정의 | 명시적 Charset |
핵심: 저장 용량은 Charset으로 인코딩한 byte 길이를 따로 계산합니다.