유니코드 문자 정보 조회기 완벽 가이드
유니코드(Unicode)는 전 세계 모든 문자를 하나의 표준 번호(코드포인트)로 표현하기 위한 국제 표준입니다. 한글, 영문, 한자, 이모지처럼 서로 다른 언어와 기호가 컴퓨터에서 깨지지 않고 표시되는 이유가 바로 이 유니코드 덕분입니다. 개발자는 문자열을 다룰 때 U+AC00과 같은 코드포인트, 실제 저장 방식인 UTF-8 바이트열, 웹 페이지에 안전하게 표시하기 위한 HTML 엔티티(가)를 자주 확인해야 합니다. 이 도구는 입력한 문자열을 Array.from() 방식으로 코드포인트 단위로 정확히 분리한 뒤, 각 문자마다 U+HEX 코드포인트, 10진수 코드값, 대략적인 유니코드 블록(한글 음절, 한글 자모, CJK 한자, 라틴, 이모지 등), UTF-8 바이트열(16진수), 10진/16진 HTML 엔티티를 자동으로 계산해 보여줍니다.
특히 이모지처럼 코드포인트가 U+FFFF를 넘는 문자는 자바스크립트 문자열 내부에서 서로게이트 쌍(High/Low Surrogate) 2개로 저장되는데, 일반적인 str.length나 charCodeAt()으로 처리하면 문자가 반으로 쪼개져 버립니다. 이 도구는 Array.from(str)과 codePointAt()을 사용해 이러한 서로게이트 쌍도 하나의 문자로 정확히 인식하고, TextEncoder로 실제 UTF-8 인코딩 바이트 수까지 계산합니다. 한글 음절은 보통 3바이트, 이모지는 4바이트인 이유도 결과 카드에서 바로 확인할 수 있습니다. 텍스트 인코딩 디버깅, DB 컬럼 바이트 길이 계산, HTML 이스케이프 처리, 정규식/문자열 파싱 로직 검증 등 다양한 개발 작업에 활용해 보세요.
자주 묻는 질문 (FAQ)
Q. 코드포인트와 UTF-8 바이트는 어떻게 다른가요?
A. 코드포인트는 유니코드 표준에서 문자에 부여한 고유 번호(예: 한글 '가'는 U+AC00, 10진수로 44032)이고, UTF-8 바이트는 그 코드포인트를 실제 저장·전송할 때 사용하는 가변 길이 바이트 인코딩입니다. 같은 문자라도 UTF-8, UTF-16 등 인코딩 방식에 따라 바이트 표현이 달라지며, 이 도구는 웹 표준인 UTF-8 기준 바이트열을 보여줍니다.
Q. 이모지처럼 긴 문자도 정확히 분석되나요?
A. 네. 이모지나 일부 특수 기호는 유니코드 코드포인트가 U+10000 이상이라 자바스크립트 문자열에서 2개의 16비트 코드유닛(서로게이트 쌍)으로 저장됩니다. 이 도구는 Array.from()으로 코드포인트 단위로 분리하기 때문에 이모지 하나를 문자 2개로 잘못 세지 않고 정확히 1개의 문자로 인식해 분석합니다.
Q. HTML 엔티티는 언제 사용하나요?
A. 특수문자나 다국어 문자를 HTML 문서에 안전하게 표시하거나, 폰트가 지원하지 않는 환경에서도 문자를 깨지지 않게 전달하고 싶을 때 가(10진) 또는 가(16진) 형태의 HTML 엔티티를 사용합니다. 결과 카드에서 각 문자의 두 가지 엔티티 표기를 모두 확인해 바로 복사할 수 있습니다.