텍스트 ↔ 유니코드
텍스트를 유니코드 코드포인트(U+…)로, 또는 반대로 변환합니다.
| 글자 | 코드포인트 | 10진수 | 분류 | UTF-8 바이트 | UTF-16 |
|---|
이모지·희귀 한자처럼 U+FFFF를 넘는 문자는 자바스크립트에서 서로게이트 페어로 저장되어 UTF-16 기준 2칸을 차지합니다. 자바스크립트 형식을 고르면 이런 문자가 두 개의 코드 유닛으로 표시되고, ES6·유니코드 표준 표기를 고르면 하나의 코드포인트로 표시됩니다. 이 도구는 코드포인트 단위로 순회하므로 이모지가 쪼개지지 않고 정확히 변환·복원됩니다. 아래 상세표의 UTF-16 열에서 실제 구성을 확인할 수 있습니다.
코드 → 텍스트 방향은 형식 선택과 상관없이 U+ 표기, 자바스크립트 이스케이프, ES6 중괄호 표기, HTML 10진수(😀)·16진수(😀) 엔티티, 명명 엔티티(♥)를 모두 자동으로 인식합니다.
텍스트 ↔ 유니코드란?
깨진 글자, 특수문자, 이모지(😀)의 정체가 궁금하신가요? 텍스트를 컴퓨터가 이해하는 고유한 번호, 즉 유니코드 코드포인트(U+…)로 변환하거나 그 반대로 변환해주는 도구입니다. 개발자가 코드에 문자를 삽입할 때, 디자이너나 콘텐츠 제작자가 웹에 안전하게 특수문자를 표시해야 할 때 유용합니다. 단순히 텍스트를 코드로 바꾸는 것을 넘어, 입력한 모든 글자를 하나씩 분해하여 코드포인트, UTF-8 바이트, 유니코드 분류까지 상세한 분석표로 보여주는 것이 특징입니다. 자바스크립트(`\uXXXX`), HTML 엔티티(`&#...;`), 유니코드 표준(`U+XXXX`) 등 7가지 표현 형식과 ASCII 문자 유지 옵션을 제공하여 어떤 환경에서도 필요한 결과물을 바로 얻을 수 있습니다. 모든 변환 과정은 사용자의 브라우저 안에서만 이루어지며, 입력한 내용은 서버로 절대 전송되지 않아 안심하고 사용할 수 있습니다.
사용 방법
- 왼쪽 입력창에 변환하고 싶은 텍스트를 쓰거나 붙여넣습니다.
- 변환 방향은 기본적으로 '🔄 자동 감지'되어, 입력이 텍스트인지 코드인지에 따라 알맞게 동작합니다. 필요시 '텍스트 → 코드' 또는 '코드 → 텍스트'로 직접 지정할 수 있습니다.
- 텍스트를 코드로 바꿀 때는 '표현 형식' 메뉴에서 자바스크립트, HTML 엔티티 등 원하는 출력 형식을 선택합니다. 'ASCII는 그대로 두기' 옵션으로 가독성을 높일 수도 있습니다.
- 변환 결과가 오른쪽 창에 즉시 나타납니다. '복사' 버튼을 눌러 필요한 곳에 사용하세요.
- 결과 아래에서 글자 수, UTF-8/UTF-16 크기 등 통계 정보와 글자별 상세 분석표를 확인할 수 있습니다.
텍스트 ↔ 유니코드 사용 가이드
실제 작업에서 이 도구를 어떻게 쓰는지, 무엇을 조심해야 하는지 정리했습니다.
이모지가 2글자로 세지는 이유
"😀".length 를 자바스크립트에서 재면 2가 나옵니다. 버그가 아니라 저장 방식 때문입니다. 자바스크립트 문자열은 UTF-16이고, UTF-16은 16비트 단위라 U+FFFF까지만 한 칸에 담습니다. 그보다 큰 문자는 두 칸(서로게이트 페어)에 나눠 저장합니다.
이 도구의 통계에서 "글자 수(코드포인트)"와 "UTF-16 길이"를 나란히 보여 주는 이유가 그것입니다. 이모지가 하나 있으면 두 숫자가 1씩 벌어지고, "서로게이트 페어" 칸에 몇 개인지 표시됩니다.
| 글자 | 코드포인트 | UTF-16 | 코드포인트 / UTF-16 길이 |
|---|---|---|---|
| A | U+0041 | 0041 | 1 / 1 |
| 한 | U+D55C | D55C | 1 / 1 |
| 😀 | U+1F600 | D83D DE00 (페어) | 1 / 2 |
보이지 않는 문자 잡아내기
"분명 똑같이 썼는데 검색이 안 되고 비교가 실패한다"면 눈에 안 보이는 문자가 섞인 경우입니다. 문제의 문자열을 그대로 붙여넣고 글자별 상세표의 코드포인트·분류 열을 훑으면 정체가 드러납니다.
| 문자 | 코드포인트 | 어디서 들어오나 |
|---|---|---|
| 줄바꿈 없는 공백(NBSP) | U+00A0 | 웹페이지·워드·엑셀에서 복사할 때. 코드에 붙여넣으면 문법 오류 |
| 제로폭 공백 | U+200B | 위지윅 에디터·번역 도구. 아예 안 보임 |
| BOM | U+FEFF | 파일 맨 앞. JSON 파싱 실패의 단골 원인 |
| 이형 선택자 | U+FE0F | 이모지 뒤에 붙어 컬러 표시를 지정 |
| 좌우 방향 표시 | U+200E, U+200F | 아랍어·히브리어 혼용 문서 |
표현 형식 7가지, 언제 무엇을 쓰나
형식을 바꾸면 구분자가 그 형식의 관례값으로 자동으로 맞춰집니다. \u0041\u0042는 붙여 쓰고 U+0041 U+0042는 띄어 쓰는 게 관례라서입니다. 자동으로 바뀐 뒤 직접 고른 값은 그대로 유지됩니다.
"ASCII는 그대로 두기"를 켜면 영문·숫자는 읽히는 채로 두고 한글·이모지·특수문자만 이스케이프합니다. 코드에 넣을 문자열을 만들 때 가장 실용적인 조합입니다.
| 형식 | 결과 예 (😀) | 쓰는 자리 |
|---|---|---|
| 자바스크립트 \uXXXX | \uD83D\uDE00 | JS 문자열 리터럴 · 옛 코드베이스 |
| ES6 \u{XXXXX} | \u{1F600} | 요즘 JS · 코드포인트가 그대로 읽힘 |
| U+XXXX | U+1F600 | 문서·이슈·대화에서 문자를 지칭할 때 |
| HTML 10진수 | 😀 | HTML 본문 · 메일 템플릿 |
| HTML 16진수 | 😀 | 위와 같되 코드포인트가 보임 |
| 명명 엔티티 | & · ♥ 등 | 알려진 기호만. 없으면 16진수로 대체 |
| 10진수 코드포인트 | 128512 | 숫자만 필요할 때 |
자모가 따로 노는 한글 — 정규화 문제
맥에서 압축한 파일을 윈도우에서 풀면 파일명의 자모가 흩어져 보이는 일이 있습니다. 같은 "한글"인데 저장 방식이 두 가지이기 때문입니다. 완성형(NFC)은 한 글자를 코드포인트 하나로, 조합형(NFD)은 초성·중성·종성 코드포인트 여러 개로 저장합니다.
이 도구로 어느 쪽인지 판별할 수 있습니다. 문제의 문자열을 붙여넣고 글자 수와 분류 열을 보세요.
- "한글 음절"(U+AC00~U+D7A3)로 나오고 "한글"의 글자 수가 2 → 완성형(NFC). 정상입니다.
- "한글 자모"(U+1100~U+11FF)가 여러 개로 나오고 글자 수가 6 → 조합형(NFD). 맥 파일 시스템이 쓰는 방식입니다.
- "한글 호환 자모"(U+3130~U+318F)로 나옴 → 자판에서 ㄱ·ㅏ를 낱개로 입력한 것. 조합형과도 또 다릅니다.
되돌리기와 자동 감지의 경계
코드 → 텍스트 방향은 형식 선택과 무관하게 알려진 표기를 전부 인식합니다. U+D55C, \uD55C, \u{D55C}, 한, 한, ♥ 를 한 입력에 섞어 넣어도 됩니다.
다만 자동 감지는 접두어가 붙은 표기가 입력 전체를 덮을 때만 코드로 판단합니다. "D55C AE00"처럼 접두어 없이 숫자만 나열하면 평범한 텍스트일 수 있어 함부로 되돌리지 않습니다.
- 접두어 없는 코드를 되돌리려면 "코드 → 텍스트"를 직접 누릅니다.
- 값이 16진수면 표현 형식을 자바스크립트·U+ 등 16진 계열로 둡니다.
- 10진수 코드포인트(54620 같은)를 되돌릴 때는 표현 형식을 "10진수 코드포인트"로 바꿔야 10진으로 읽습니다.
자주 묻는 질문
이모지(emoji)도 변환되나요?
네, 완벽하게 지원합니다. 😀 같은 이모지를 입력하면 'U+1F600' 같은 코드포인트로 변환되며, 반대로 코드포인트를 입력해 이모지를 복원할 수 있습니다. 자바스크립트에서 까다로운 서로게이트 페어(surrogate pair) 문제 없이 정확하게 처리하며, 글자별 상세표에서 UTF-16 인코딩 구조까지 확인할 수 있습니다.
입력한 텍스트 데이터는 안전한가요?
네, 안전합니다. 이 도구는 서버와의 통신 없이 100% 사용자의 웹 브라우저 내부에서만 동작합니다. 입력하신 텍스트는 외부로 일절 전송되지 않으므로, 민감한 내용이나 개인정보가 포함된 텍스트도 안심하고 변환할 수 있습니다.
유니코드 표현 형식이 여러 가지인데, 어떤 것을 써야 하나요?
사용 목적에 따라 다릅니다. 웹 페이지에 특수문자를 표시하려면 HTML 엔티티(`A`, `A`)를, 자바스크립트나 JSON 문자열 안에 넣으려면 `\u0041` 형식을 사용합니다. 유니코드 문서를 작성하거나 단순히 코드포인트를 확인할 때는 `U+0041` 표준 표기가 유용합니다. 각 형식 이름에 대표적인 사용처가 함께 표시되어 있어 쉽게 선택할 수 있습니다.
'ASCII는 그대로 두기'는 어떤 기능인가요?
영문, 숫자, 기본 기호 등 ASCII 문자는 변환하지 않고 그대로 남겨두는 기능입니다. 예를 들어 'Hello © 2024'를 변환할 때, 이 옵션을 켜면 'Hello'와 '2024'는 그대로 두고 특수문자 '©'만 `©`나 `U+00A9` 등으로 변환합니다. 코드나 텍스트의 가독성을 해치지 않으면서 필요한 부분만 이스케이프할 때 매우 유용합니다.