문자 수 세기
입력 텍스트의 유니코드 문자 수와 공백 제외 문자 수, UTF-8 바이트 수를 계산합니다.
사용 방법
- 텍스트를 입력하고 실행해 세 가지 길이 지표를 확인합니다.
핵심 기능과 처리 범위
JavaScript 문자열 길이가 아니라 스프레드된 코드포인트를 세어 BMP 밖 문자도 한 문자로 다루고 TextEncoder로 바이트를 구합니다.
처리 원리
문자 수는 [...input].length, 공백 제외는 정규식의 whitespace 범주를 모두 제거한 뒤 코드포인트 수, 바이트는 UTF-8 TextEncoder 결과 길이입니다.
예시
A😀는 2문자지만 UTF-8에서는 5바이트입니다.
이럴 때 유용합니다
- 문자 제한과 UTF-8 저장 크기를 함께 확인할 때
사용 전 참고
- 결합문자나 이모지 ZWJ 시퀀스는 사용자가 보는 한 글자와 여러 코드포인트가 다를 수 있습니다.
자주 묻는 질문
이모지 하나는 항상 1자로 세나요?
단일 코드포인트 이모지는 1이지만 여러 코드포인트로 조합된 이모지는 여러 문자로 셀 수 있습니다.