SCRIPTA Learn
Unicode 배우기
인류의 모든 문자를 담은 약속 — 코드포인트, 인코딩, 자모 분해까지 단계별로 배웁니다.
◈ 문자가 컴퓨터에 저장되는 방법
컴퓨터는 모든 정보를 숫자로 저장합니다. 이미지도, 소리도, 텍스트도 결국 0과 1의 조합입니다. 문자도 예외가 아닙니다. 화면에 표시되는 글자 하나하나는 컴퓨터 내부에서 고유한 숫자로 기억됩니다.
예를 들어 알파벳 A는 숫자 65로, B는 66으로 저장됩니다. 이렇게 문자와 숫자를 대응시킨 표를 문자 인코딩(Character Encoding)이라고 합니다.
🔬 직접 입력해보세요
AU+0041Basic Latin
BU+0042Basic Latin
CU+0043Basic Latin
◈ 왜 문자가 깨지는가
문제는 나라마다, 회사마다 서로 다른 인코딩 표를 만들었다는 것입니다. 한국은 EUC-KR, 일본은 Shift-JIS, 서유럽은 ISO-8859를 사용했습니다.
⚠️EUC-KR로 저장된 한국어 텍스트를 Shift-JIS로 읽으면 완전히 다른 문자로 해석됩니다. 이것이 바로 "문자 깨짐(mojibake)"의 원인입니다.
이 혼란을 해결하기 위해 1991년, 전 세계 모든 문자를 하나의 통일된 코드표로 만들자는 프로젝트가 시작됩니다. 바로 유니코드(Unicode)입니다.
◈ 코드포인트란 무엇인가
유니코드는 각 문자에 코드포인트(Codepoint)라는 고유 번호를 부여합니다. 코드포인트는 U+ 뒤에 16진수로 표기합니다. 예를 들어 한글 한의 코드포인트는 U+D55C입니다.
| 문자 | 코드포인트 | 10진수 | 설명 |
|---|---|---|---|
| A | U+0041 | 65 | 라틴 대문자 A |
| 한 | U+D55C | 54620 | 한글 음절 한 |
| α | U+03B1 | 945 | 그리스 소문자 알파 |
| 🌏 | U+1F30F | 127759 | 지구 이모지 (아시아) |
유니코드는 현재 15만 개 이상의 문자를 포함하고 있으며, 고대 문자부터 이모지까지 인류의 거의 모든 문자 기호를 담고 있습니다.
🔬 코드포인트 확인
한U+D55CHangul Syllables
ᄒU+1112초성
ᅡU+1161중성
ᆫU+11AB종성
글U+AE00Hangul Syllables
ᄀU+1100초성
ᅳU+1173중성
ᆯU+11AF종성