유니코드 문자 검사기
문자열을 분해해 각 문자의 코드포인트·UTF-8 바이트·HTML 엔티티·CSS 이스케이프·유니코드 블록 표시.
string.length
13
코드포인트
12
UTF-8 바이트
19
| 문자 | 코드포인트 | UTF-8 바이트 | HTML 엔티티 | CSS 이스케이프 | 블록 |
|---|---|---|---|---|---|
| H | U+0048 | 48 | H | \0048 | Basic Latin (ASCII) |
| e | U+0065 | 65 | e | \0065 | Basic Latin (ASCII) |
| l | U+006C | 6C | l | \006C | Basic Latin (ASCII) |
| l | U+006C | 6C | l | \006C | Basic Latin (ASCII) |
| o | U+006F | 6F | o | \006F | Basic Latin (ASCII) |
| , | U+002C | 2C | , | \002C | Basic Latin (ASCII) |
| ␠ | U+0020 | 20 |   | \0020 | Basic Latin (ASCII) |
| 世 | U+4E16 | E4 B8 96 | 世 | \4E16 | CJK Unified Ideographs |
| 界 | U+754C | E7 95 8C | 界 | \754C | CJK Unified Ideographs |
| ! | U+0021 | 21 | ! | \0021 | Basic Latin (ASCII) |
| ␠ | U+0020 | 20 |   | \0020 | Basic Latin (ASCII) |
| 🌏 | U+1F30F | F0 9F 8C 8F | 🌏 | \1F30F | Miscellaneous Symbols & Pictographs |
코드포인트는 Array.from으로 순회(서로게이트 쌍 안전). 블록 이름은 가장 흔한 유니코드 범위 커버 — 틈새 블록은 '—' 표시.
사용법
- 입력란에 텍스트 붙여넣기·입력.
- 테이블에서 각 문자의 메타데이터 확인.
- 복사 버튼으로 파싱된 테이블 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 필요 — 이 도구 범위 밖.
이 주제의 가이드
관련 도구
글자수 단어수 카운터
글자·단어·문장·줄·바이트 수를 실시간으로 셉니다.
텍스트
ASCII 코드 표
256행 ASCII / 확장 ASCII 표 — 10진·16진·8진·2진 + 제어 문자 이름. 검색·복사.
개발
보이지 않는 / 제로폭 문자 탐지기
붙여넣은 텍스트의 NBSP·제로폭·양방향 마크·탭을 찾아내고 한 번에 정리.
개발
DNS 메시지 디코더
DNS 패킷을 16진수나 DoH base64url로 붙여넣고 읽어 보세요. 헤더 플래그, opcode와 rcode, 모든 레코드, EDNS0 OPT 옵션까지 보여 줍니다.
네트워크
랜덤 바이트 생성기
암호학적으로 안전한 랜덤 바이트를 9가지 형식으로 출력 — Hex, Base64, Base64URL, 이진, 10진, C 배열, Python bytes, UUID v4.
랜덤
Mojibake 복구 (깨진 UTF-8 수리)
잘못된 인코딩 왕복으로 깨진 텍스트 복구 — café, don’t, 😀를 café, don't, 😀로 되돌림 — 자동·안전하게, 브라우저에서.
텍스트