본문으로 건너뛰기
AZ Tools

유니코드 문자 검사기

문자열을 분해해 각 문자의 코드포인트·UTF-8 바이트·HTML 엔티티·CSS 이스케이프·유니코드 블록 표시.

string.length

13

코드포인트

12

UTF-8 바이트

19

문자코드포인트UTF-8 바이트HTML 엔티티CSS 이스케이프블록
HU+004848H\0048Basic Latin (ASCII)
eU+006565e\0065Basic Latin (ASCII)
lU+006C6Cl\006CBasic Latin (ASCII)
lU+006C6Cl\006CBasic Latin (ASCII)
oU+006F6Fo\006FBasic Latin (ASCII)
,U+002C2C,\002CBasic Latin (ASCII)
␠U+002020 \0020Basic Latin (ASCII)
世U+4E16E4 B8 96世\4E16CJK Unified Ideographs
界U+754CE7 95 8C界\754CCJK Unified Ideographs
!U+002121!\0021Basic Latin (ASCII)
␠U+002020 \0020Basic Latin (ASCII)
🌏U+1F30FF0 9F 8C 8F🌏\1F30FMiscellaneous Symbols & Pictographs

코드포인트는 Array.from으로 순회(서로게이트 쌍 안전). 블록 이름은 가장 흔한 유니코드 범위 커버 — 틈새 블록은 '—' 표시.

사용법

  1. 입력란에 텍스트 붙여넣기·입력.
  2. 테이블에서 각 문자의 메타데이터 확인.
  3. 복사 버튼으로 파싱된 테이블 TSV 복사.

자세한 설명

펼치기

이 툴은 문자마다 한 행을 주어 보여 줍니다. 문자 자체, U+HHHH 16진 코드포인트, UTF-8 바이트 배열, HTML 십진 엔티티(&#NNNN;), CSS 이스케이프(\HHHH), 그리고 속한 유니코드 블록입니다. 깨진 글자를 추적하거나, 헷갈리는 문자의 정확한 코드포인트를 찾거나(저게 하이픈 마이너스인가 엠 대시인가), 문자열이 UTF-8 저장에서 몇 바이트를 차지하는지 볼 때 씁니다. Array.from으로 코드포인트를 제대로 훑어 대리 쌍도 올바르게 처리합니다.

순회 방식이 중요한 이유가 대리 쌍입니다. 자바스크립트 문자열은 16비트 단위의 배열이라, U+FFFF를 넘는 것은 모든 이모지와 상당수의 한중일 문자를 포함해 두 단위를 차지합니다. 그런 문자열을 [0]으로 인덱싱하거나 .length로 재면 문자가 아니라 반쪽을 세게 되고, 반쪽 사이를 자르면 홀로 남은 대리 문자가 대체 기호 네모로 그려집니다. Array.from은 대신 코드포인트를 따라 걷는데, 그래서 4바이트 문자가 여기서 깨진 두 행이 아니라 한 행으로 나옵니다.

코드포인트는 여전히 독자가 말하는 의미의 문자가 아닙니다. 피부색이 붙은 이모지는 기본 문자에 수정자가 더해진 것이고, 가족 이모지는 폭 없는 결합자로 이어진 여러 사람이며, 악센트가 붙은 글자는 미리 조합된 코드포인트 하나일 수도 있고 글자에 결합 기호를 더한 것일 수도 있습니다. 이 모두가 화면에서는 하나이고 여기서는 여러 행인데, 똑같이 생긴 문자열과 비교했을 때 같지 않다고 나올 때 필요한 정보가 바로 그것입니다.

UTF-8 바이트 수가 저장 한도에서 무는 지점입니다. ASCII는 1바이트, 악센트가 붙은 라틴 문자와 그리스 문자, 키릴 문자는 2바이트, 대부분의 한중일 문자와 나머지 기본 다국어 평면은 3바이트, 이모지는 4바이트를 씁니다. UTF-8에서 255자로 선언된 데이터베이스 열은 1020바이트를 잡아 둘 수 있고, 255바이트로 제한된 항목은 영어가 아닌 무엇이든 255자보다 훨씬 적게 담습니다.

바이트가 보이면 깨진 글자에는 읽을 수 있는 서명이 있습니다. 아포스트로피가 있어야 할 자리에 ’가 보이는 텍스트는 UTF-8을 Windows-1252로 읽은 것이고, 그 문자들의 행이 원래 바이트를 그대로 드러내 줍니다.

자주 묻는 질문

왜 🌏는 행 1개지만 len = 2?

이모지·기타 보충 평면 코드포인트(>U+FFFF)는 자바스크립트 문자열에서 2개 UTF-16 코드 유닛 차지·사용자 인식엔 한 문자. 도구는 행 수에 코드포인트(Array.from) 세지만 string.length도 별도 표시 — 불일치 확인 가능.

총 바이트가 UTF-8 칼럼과 동일?

네. 총 바이트 = 각 행의 UTF-8 바이트 합·엣지 케이스 정확도 위해 TextEncoder로 계산. 저장·와이어 포맷 크기 산정에 유용.

모지바케란?

잘못된 인코딩으로 바이트 해석한 깨진 텍스트. 클래식: UTF-8 'é'(C3 A9)을 Latin-1로 읽으면 'é'. 이 도구로 진단 가능 — 깨진 문자열 붙여넣고 코드포인트가 '잘못 디코드된 UTF-8' 결과와 맞는지 확인.

결합 문자·자소 클러스터는?

코드포인트 표시·자소 아님. 'é'는 코드포인트 1개(U+00E9)이거나 2개(e + 결합 예음, U+0065 + U+0301) 가능. 시각적 문자는 동일·바이트 표현은 다름. 적절한 자소 카운팅은 Intl.Segmenter 필요 — 이 도구 범위 밖.

이 주제의 가이드

관련 도구