~ / developer / unicode-escape-converter

🔣 유니코드 변환기 (\uXXXX 이스케이프 · UTF-8 바이트)

한글과 이모지를 \uXXXX, \u{X}, U+XXXX, HTML 문자 참조, UTF-8 바이트로 바꾸고 다시 글자로 되돌려요. 글자별 코드포인트·UTF-16·UTF-8 표도 보여 줘요.

결과
광고

사용법

  1. 왼쪽 칸에 글자를 넣고 글자 → 코드를 고르면 오른쪽에 선택한 형식으로 바뀐 결과가 나와요. 형식은 \uAC00(JavaScript·JSON), \u{AC00}(ES6), Python 형식, U+AC00 표기, HTML 문자 참조, UTF-8 바이트 중에서 골라요.
  2. 반대로 \uD55C\uAE00이나 한처럼 이스케이프된 글을 넣고 코드 → 글자를 고르면 읽을 수 있는 글자로 되돌려 줘요. 섞어 써도 한꺼번에 풀려요.
  3. 영문·숫자·기호는 그대로를 켜 두면 한글·이모지처럼 ASCII가 아닌 글자만 코드로 바꿔요. 끄면 영문까지 모두 바꿔요.
  4. 오른쪽 아래 표에는 앞 40글자의 코드포인트, UTF-16, UTF-8 값이 나와요. 입력으로 옮기기를 누르면 결과를 입력으로 가져와 바로 되돌려 확인할 수 있어요.

코드포인트와 이스케이프가 뭐예요?

유니코드는 전 세계 글자에 번호(코드포인트)를 붙인 표준이에요. 번호는 U+0000부터 U+10FFFF까지이고, 한글 '가'는 U+AC00, 영문 'A'는 U+0041, 웃는 얼굴 이모지 😀는 U+1F600이에요. 이 번호를 파일이나 네트워크에 저장하는 방법이 인코딩이고, 가장 많이 쓰는 UTF-8은 번호 크기에 따라 1~4바이트로 저장해요(RFC 3629).

소스 코드나 JSON에서는 인코딩이 맞지 않는 환경에서도 글자가 깨지지 않도록 이스케이프로 적어요. JSON 문자열은 \u 뒤에 16진수 4자리를 쓰는 방식을 정해 두었고(RFC 8259), JavaScript는 여기에 \u{1F600}처럼 중괄호로 5~6자리를 한 번에 적는 방식도 지원해요. Python은 4자리 \uXXXX와 8자리 \UXXXXXXXX를 써요.

한글과 이모지 변환 예시

글자코드포인트\uXXXXUTF-8 바이트
AU+0041\u004141 (1바이트)
éU+00E9\u00E9C3 A9 (2바이트)
가U+AC00\uAC00EA B0 80 (3바이트)
한U+D55C\uD55CED 95 9C (3바이트)
글U+AE00\uAE00EA B8 80 (3바이트)
😀U+1F600\uD83D\uDE00 (서로게이트 쌍)F0 9F 98 80 (4바이트)

"한글"은 JSON에서 "\uD55C\uAE00"으로 적어요. 한글 음절은 모두 U+AC00~U+D7A3 사이에 있어 16비트에 들어가므로 이스케이프도 항상 4자리 하나예요. 반면 이모지처럼 U+FFFF를 넘는 글자는 UTF-16에서 코드 유닛 2개(서로게이트 쌍)로 쪼개져서 \uD83D\uDE00처럼 두 번 적어야 해요.

서로게이트 쌍 계산법

U+10000 이상의 코드포인트는 먼저 0x10000을 빼서 20비트 값을 만들고, 위 10비트에 0xD800을, 아래 10비트에 0xDC00을 더해요. 😀(0x1F600)는 0x1F600 − 0x10000 = 0xF600이고, 위 10비트는 0x3D, 아래 10비트는 0x200이라 상위 서로게이트 0xD800 + 0x3D = 0xD83D, 하위 서로게이트 0xDC00 + 0x200 = 0xDE00이 돼요. 그래서 자바스크립트에서 '😀'.length는 1이 아니라 2예요. 글자 수를 정확히 세려면 [...str].length처럼 코드포인트 단위로 세어야 하고, 이 도구의 글자 수도 이 방식으로 세요.

어디에 쓰나요?

자주 생기는 문제

코드포인트와 UTF-8·UTF-16 규칙은 유니코드 표준, JSON 이스케이프는 RFC 8259, UTF-8은 RFC 3629를 따라요. 변환은 모두 이 브라우저 안에서 이루어지고 입력한 글은 밖으로 나가지 않아요.

자주 묻는 질문

한글을 \uXXXX로 바꾸는 방법은 뭐예요?
각 글자의 유니코드 코드포인트를 16진수 4자리로 적고 앞에 \u를 붙여요. "한글"은 \uD55C\uAE00이에요. 이 도구는 글자 → 코드를 고르고 형식을 \uXXXX로 두면 바로 바꿔 줘요.
이모지는 왜 \u가 두 번 나오나요?
U+FFFF를 넘는 글자는 UTF-16에서 코드 유닛 2개(서로게이트 쌍)로 나뉘어서 \u가 두 번 붙어요. 😀는 \uD83D\uDE00이고, ES6 형식으로는 \u{1F600}처럼 한 번에 적을 수 있어요.
UTF-8에서 한글은 몇 바이트예요?
완성형 한글 한 글자는 3바이트예요. 가는 EA B0 80이에요. 영문·숫자는 1바이트, 이모지는 보통 4바이트라서 글자 수와 바이트 수가 달라요.
\uAC00 같은 코드를 글자로 되돌리려면요?
코드 → 글자를 고르고 이스케이프된 글을 붙여 넣으면 돼요. \uXXXX, \u{X}, \UXXXXXXXX, U+XXXX, &#xXXXX;, &#NNNN; 형식을 섞어 써도 한꺼번에 읽어요.
URL의 %EC%95%88 같은 값도 변환되나요?
이 도구의 코드 → 글자는 퍼센트 인코딩은 읽지 않아요. %EC%95%88은 UTF-8 바이트를 %로 적은 값이라 URL 인코더에서 풀 수 있어요. 바이트 값 자체는 글자 → 코드의 UTF-8 바이트 형식으로 확인할 수 있어요.

이 도구와 함께 보면 좋은 글

관련 도구

더 둘러보기

💻 개발자 다른 도구

🔥 많이 찾는 도구

🔮 재미로 한 번 더

📝 읽어 볼 만한 글

글 전체 보기 →