유니코드 변환
🔐 인코딩문자를 유니코드 코드포인트, UTF-8 바이트, 16진수 값으로 서로 전환합니다.
🌐 유니코드 변환기란?
유니코드는 모든 문자에 고유 번호(코드 포인트)를 부여하는 표준입니다. 1991년 1.0 발표 이후 매년 확장되어 2024년 기준 15만 자 이상의 문자에 U+XXXX 형식의 번호가 매겨져 있습니다. 이 도구는 그 번호를 두 가지 형태로 보여줍니다: JavaScript와 JSON에서 사용하는 \uXXXX 이스케이프 표기, 그리고 실제 파일이나 네트워크에 흘러가는 UTF-8 바이트(HEX)입니다. 한글 "가"를 예로 들면 코드 포인트는 U+AC00, UTF-8 바이트로는 EA B0 80입니다.
💡 자주 깨지는 상황과 해결법
- 한글이 "ê°€" 비슷한 글자로 보임 — UTF-8 바이트가 Latin-1로 잘못 해석되는 경우. DB 컬럼 캐릭터셋, HTTP Content-Type charset, 파일 BOM 셋 중 하나가 어긋났을 가능성이 큽니다.
- 물음표(?)나 □로 보임 — 폰트 문제가 아니라 인코딩 변환 중 손실됐을 가능성이 높습니다.
- 이모지 처리 — BMP(U+0000~U+FFFF) 밖의 문자는
\uXXXX한 번으로 표현할 수 없고 서러게이트 페어로 분리되거나\u{1F600}형식(ES6+)으로 적어야 합니다.
💡 알아두면 좋은 점
유니코드와 UTF-8은 다른 개념입니다. 유니코드는 "번호표", UTF-8은 "그 번호를 바이트로 저장하는 방법". UTF-8은 ASCII와 호환되며 영어 1바이트, 한글 3바이트, 이모지 4바이트로 가변 길이입니다.
📋 변환 모드 안내
텍스트 → Unicode (\uXXXX)
각 문자를 \u + 4자리 16진수로 변환합니다. JavaScript, JSON에서 사용합니다. 예: "가" → \uac00
텍스트 → UTF-8 (HEX)
텍스트를 UTF-8로 인코딩한 바이트 값을 16진수로 표시합니다. 네트워크 디버깅에 유용합니다. 예: "가" → EA B0 80
자주 묻는 질문
유니코드와 UTF-8의 차이는?▼
유니코드는 어떤 문자에 어떤 번호를 줄지 정한 문자 집합이고, UTF-8은 그 번호를 바이트로 저장하는 방법 중 하나입니다. UTF-8은 ASCII와 호환되며 영어 1바이트, 한글 3바이트, 이모지 4바이트로 가변 길이입니다. 웹 표준이 사실상 UTF-8로 통일되어 있습니다.
\uXXXX는 어디서 사용하나요?▼
JavaScript 소스 코드 안의 문자열, JSON 파일에서 비ASCII 문자를 안전하게 표현할 때 사용합니다. 예전 환경에서 UTF-8 파일 인코딩이 보장되지 않을 때 특히 유용하며, 외부 시스템과 파일을 주고받을 때 깨짐 방지용으로도 쓰입니다.
한글은 몇 바이트인가요?▼
코드 포인트는 U+AC00~U+D7A3 영역에 있는 11,172자이며 UTF-8 인코딩 시 한 글자당 3바이트, UTF-16 인코딩 시 2바이트입니다. 옛한글 자모(U+1100~)나 호환 자모(U+3130~)는 별도 영역에 있어 합성 방식에 따라 바이트 수가 달라질 수 있습니다.