Unicode Inspector 작동 원리
Unicode 코드 포인트는 문자를 U+AC00 같은 번호로 정의합니다. JavaScript 문자열은 내부적으로 UTF-16 코드 유닛을 사용하므로 기본 다국어 평면 밖의 이모지는 서로게이트 두 개로 표현될 수 있습니다. 이 도구는 Array.from으로 코드 포인트 단위의 문자를 순회하고 codePointAt으로 U+ 값을, TextEncoder로 UTF-8 바이트를, charCodeAt으로 UTF-16 코드 유닛을 표시합니다. 결합 문자와 ZWJ 이모지는 화면에서 하나처럼 보여도 여러 코드 포인트 행으로 나뉠 수 있습니다.
이 페이지의 계산과 변환은 모두 현재 브라우저에서 실행됩니다. 원문과 결과를 ReadyTools 서버에 전송하거나 데이터베이스에 저장하지 않으며, 입력 내용은 localStorage에도 기록하지 않습니다. 다만 운영체제나 브라우저의 클립보드 기록, 확장 프로그램, 화면 공유 기능은 사이트 밖의 영역이므로 민감한 데이터는 테스트용으로 바꾸어 사용하는 편이 안전합니다.
Unicode Inspector 사용 방법
입력 형식 확인
페이지에 표시된 입력 예시와 형식을 확인하고 분석하거나 변환할 데이터를 붙여 넣습니다. 오류 안내가 나오면 강조된 항목의 문법과 범위를 먼저 확인하세요.
브라우저에서 실행
실행 버튼을 누르면 외부 API 호출 없이 현재 탭에서 처리됩니다. 모바일에서는 완료 후 결과 카드로 자동 이동하며 키보드만으로도 모든 항목을 조작할 수 있습니다.
결과 검토·복사
결과의 구조와 주의사항을 확인한 뒤 복사 버튼을 사용합니다. 실제 프로젝트에 반영하기 전에는 대상 언어, 서비스와 데이터 규칙에 맞는지 다시 테스트하세요.
구체적인 상황으로 이해하는 활용 예시
다음 세 상황은 도구의 처리 과정과 결과 해석을 설명하기 위한 가상 예시입니다. 입력 조건을 바꾸면 결과도 달라지므로 자신의 조건과 비교해 확인하세요.
1. 영문 A의 인코딩 확인
A는 코드 포인트 U+0041 하나이고 UTF-8은 41, UTF-16은 0x0041입니다. 코드 포인트와 UTF-16 단위가 모두 1개인 간단한 사례입니다. 화면의 41은 16진수 바이트 표기이므로 십진수 문자 번호 41로 읽지 않도록 진법을 구분하세요.
2. 한글 가의 바이트 확인
가를 입력하면 U+AC00, UTF-8 EA B0 80과 UTF-16 0xAC00을 확인할 수 있습니다. 코드 포인트는 1개지만 UTF-8 저장 공간은 3바이트입니다. 비슷하게 보이는 분해된 자모 가는 코드 포인트가 2개이므로 문자열 비교나 길이 검사를 할 때 정규화 여부를 확인해야 합니다.
3. 웃는 얼굴 이모지 확인
😀는 U+1F600 하나이지만 UTF-16에서는 0xD83D와 0xDE00 두 단위로 표현됩니다. UTF-8은 F0 9F 98 80의 4바이트입니다. 사용자에게 보이는 그림 하나와 문자열 길이·코드 포인트 수·바이트 수가 서로 다를 수 있다는 점을 확인하는 사례입니다.
눈에 같은 문자처럼 보이지만 문자열 비교가 실패할 때 조합형·분해형 차이, 일반 공백과 non-breaking space, 하이픈과 유사 기호를 찾는 데 유용합니다. 이모지의 피부색 수정자와 가족·직업 조합에는 여러 코드 포인트와 zero width joiner가 포함될 수 있습니다. 현재 입력 앞뒤의 공백과 줄바꿈은 제거되므로 공백을 검사하려면 다른 문자 사이에 넣어야 합니다. 사용자에게 보이는 글자 수가 필요하면 코드 포인트 수가 아니라 grapheme cluster를 다루는 Intl.Segmenter 같은 기능을 고려해야 합니다.
주의사항
코드 포인트 하나가 사용자에게 보이는 문자 하나와 항상 같지는 않습니다. 정규화, 로케일별 대소문자와 글꼴 렌더링은 별도 층의 문제입니다. 보안 식별자에서는 모양이 비슷한 다른 문자로 속이는 homograph 공격 가능성이 있으므로 단순 육안 비교 대신 허용 문자 정책과 정규화를 적용하세요.