유니코드 변환

🔐 인코딩

문자를 유니코드 코드포인트, 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~)는 별도 영역에 있어 합성 방식에 따라 바이트 수가 달라질 수 있습니다.

관련 도구

광고