Inspect every character

Unicode Inspector

한글·영문·기호·이모지를 코드 포인트 단위로 나눠 U+ 표기와 UTF-8·UTF-16 값을 보여줍니다.

최대 500,000자이며 입력 내용은 서버로 전송하지 않습니다.

광고

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 공격 가능성이 있으므로 단순 육안 비교 대신 허용 문자 정책과 정규화를 적용하세요.

광고

Unicode Inspector FAQ

이모지 하나가 여러 줄로 나오는 이유는 무엇인가요?

피부색, 성별, 가족 조합은 여러 코드 포인트와 ZWJ를 합쳐 한 그림으로 표시할 수 있습니다.

UTF-8과 UTF-16 값이 왜 다른가요?

같은 코드 포인트를 서로 다른 바이트·코드 유닛 규칙으로 인코딩하기 때문입니다.

화면 글자 수와 코드 포인트 수는 같은가요?

결합 문자와 복합 이모지 때문에 다를 수 있습니다. 사용자 인식 글자는 grapheme cluster 기준이 적합합니다.

입력한 데이터가 서버에 저장되나요?

아니요. 입력과 변환은 현재 브라우저의 JavaScript에서만 처리합니다. 원문과 결과를 서버나 데이터베이스로 전송하지 않으며 localStorage에도 저장하지 않습니다.

큰 파일이나 긴 코드를 넣어도 되나요?

브라우저 멈춤과 메모리 사용을 줄이기 위해 텍스트 입력은 500,000자로 제한합니다. 대용량 로그나 프로젝트 전체 파일은 전용 로컬 개발 도구에서 나누어 처리하세요.

광고

관련 개발 도구