유니코드/문자 코드 대조표

문자를 입력하면 유니코드 코드 포인트, UTF-8 바이트 시퀀스, JavaScript/HTML/URL/CSS 이스케이프 표현을 한눈에 비교할 수 있는 무료 도구입니다. 모든 처리는 브라우저 내에서 완료됩니다.

주요 문자 코드 대조표

문자 코드 포인트 UTF-8 비고
A U+0041 41 대문자 (ASCII, 1바이트)
0 U+0030 30 숫자 (ASCII, 1바이트)
U+0020 20 공백 (ASCII, 1바이트)
! U+0021 21 느낌표 (ASCII 기호, 1바이트)
@ U+0040 40 골뱅이 기호 (ASCII 기호, 1바이트)
© U+00A9 C2 A9 저작권 기호 (Latin-1 보충, 2바이트)
U+20AC E2 82 AC 유로 기호 (3바이트)
U+2192 E2 86 92 오른쪽 화살표 (화살표 블록, 3바이트)
U+3042 E3 81 82 히라가나 문자 (3바이트)
U+6F22 E6 BC A2 CJK 통합 한자 (3바이트)
U+D55C ED 95 9C 한글 음절 (3바이트)
😀 U+1F600 F0 9F 98 80 이모지 (BMP 밖, 4바이트, JS에서는 서로게이트 쌍으로 표현)

사용 팁

  • 입력란에 여러 문자를 입력할 수 있으며, 이 경우 입력란 아래에 문자별로 결과 블록이 나뉘어 표시됩니다.
  • 😀과 같은 이모지는 유니코드의 기본 다국어 평면(BMP, U+0000~U+FFFF) 밖에 있어, JavaScript 문자열 내부에서는 두 개의 코드 유닛(서로게이트 쌍)으로 표현됩니다. "JavaScript 이스케이프" 행에 `\uXXXX`가 두 개 나타나는 것은 이 때문입니다.
  • CSS 이스케이프(`\41` 등)는 코드 포인트의 16진수를 접두사 없이 그대로 적으며, 뒤에 16진수로 오인될 수 있는 문자가 이어질 경우 끝에 공백을 하나 넣는 것이 안전합니다.
  • 브라우저는 10진수(`A`)와 16진수(`A`) HTML 엔티티를 동일하게 해석하므로 마크업에 편한 쪽을 선택하면 됩니다.
  • 각 행의 복사 버튼을 사용하면 값을 바로 클립보드에 복사해 코드나 CSS에 붙여넣을 수 있습니다.

자주 묻는 질문

JavaScript 문자열은 내부적으로 UTF-16 방식으로 표현되며, 하나의 코드 유닛은 16비트(0~65535)만 표현할 수 있습니다. 유니코드에는 이 범위를 넘어서는 코드 포인트가 다수 존재하는데(대부분의 이모지가 포함되는 U+10000 이상), 이런 문자는 "상위 서로게이트"와 "하위 서로게이트"라는 두 개의 특수한 코드 유닛을 조합한 서로게이트 쌍으로 표현됩니다. `charCodeAt`으로 한 유닛씩 읽으면 이 두 값이 따로 반환되므로, 올바른 전체 코드 포인트를 얻으려면 `codePointAt`을 사용해야 합니다.

유니코드 코드 포인트(예: U+3042)는 문자를 식별하기 위해 부여된 번호 그 자체입니다. 반면 UTF-8은 그 코드 포인트를 컴퓨터에서 바이트 시퀀스로 저장하거나 전송하기 위한 구체적인 인코딩 방식 중 하나입니다. 같은 코드 포인트라도 인코딩 방식에 따라 바이트 시퀀스가 달라지는데, UTF-8은 1~4바이트의 가변 길이를 사용하고 UTF-16이나 UTF-32는 다른 바이트 시퀀스를 만들어냅니다.

UTF-8은 순수 ASCII 문자(영문자, 숫자, 기본 기호)를 각각 1바이트로 표현할 수 있어 기존 영어권 시스템과의 호환성이 뛰어나면서도, 유니코드의 모든 문자를 표현할 수 있습니다. 2026년 현재 웹상의 텍스트 대부분이 UTF-8로 인코딩되어 있으며, HTML 문서의 권장 기본 문자 인코딩으로도 UTF-8이 사용됩니다.

아니요, 서로 다릅니다. HTML 엔티티는 `A`(10진수) 또는 `A`(16진수, `x` 접두사 포함) 형식으로 작성하며 HTML 마크업 안에서만 유효합니다. CSS 이스케이프는 `U+`나 `x` 접두사 없이 16진수만 적는 `\41` 형식으로 작성하며 CSS 선택자나 속성 값 안에서 사용합니다. 사용하는 맥락에 맞는 올바른 형식을 선택해야 합니다.
ツールくん

여담 ― 뿔뿔이 흩어진 문자 코드를 통일한 유니코드

유니코드가 등장하기 전, 컴퓨터의 문자 코드는 국가와 언어마다 제각각이었습니다. 일본어 텍스트만 하더라도 Shift_JIS, EUC-JP, JIS 코드 등 여러 방식이 공존했고, 서로 다른 인코딩을 쓰는 시스템 간에 텍스트를 주고받으면 글자가 깨지는 일이 자주 일어났습니다. 1991년 공개된 유니코드 1.0은 전 세계에서 사용되는 모든 문자에 단일한 번호(코드 포인트)를 부여함으로써 이런 혼란을 해소하고자 했습니다.

유니코드와 국제 표준인 ISO/IEC 10646은 처음에는 어느 정도 독립적으로 개발되었지만, 이후 서로 협력하여 동일한 문자 목록과 코드 포인트 할당을 공유하게 되었습니다. 오늘날 유니코드는 이모지를 포함해 15만 자가 넘는 문자를 수록하고 있으며, 매년 새 버전이 공개되어 문자가 계속 추가되고 있습니다.

UTF-8은 1992년 켄 톰프슨(Ken Thompson)과 롭 파이크(Rob Pike)가 설계한 인코딩 방식으로, ASCII 텍스트와 완전한 하위 호환성을 유지하면서도 모든 유니코드 문자를 표현할 수 있다는 점이 획기적이었습니다. 이 설계 덕분에 UTF-8은 웹 문서 인코딩의 사실상 표준으로 자리 잡았습니다.