🖥️ 컴퓨터는 글자를 어떻게 읽을까?
컴퓨터는 텍스트(A, 가, 😊) 자체를 직접 이해하지 못하고,
오직 0과 1로 이루어진 이진수 데이터만 처리할 수 있습니다.
따라서 사람이 사용하는 문자를 컴퓨터가 인식할 수 있는 고유한 '숫자(코드)'로 변환하여 저장해야 합니다.
마치 'A는 65, B는 66'처럼 문자와 숫자를 1:1로 매핑하는 규칙이 필요한데, 이 과정을 문자 인코딩(Character Encoding)이라고 부릅니다.
🅰️ ASCII란?
1960년대 미국에서 제정된 영문자 기반의 문자 인코딩 표준입니다.
초기 컴퓨터 환경에서는 메모리 용량이 매우 제한적이었습니다.
따라서 필수적인 영문 알파벳과 숫자, 특수기호 정도만 표현할 수 있는 가벼운 규격이 필요했고,
그렇게 등장한 것이 아스키코드(American Standard Code for Information Interchange)입니다.
| 특징 | 설명 |
|---|---|
| 비트 수 | 7비트 (2⁷ = 128개의 문자 표현) |
| 포함 문자 | 영어 대/소문자, 숫자, 제어 문자, 특수기호 |
| 한계점 | 128개의 공간밖에 없어 한글, 한자, 이모지 등은 표현 불가 ❌ |
| 사용 예시 | 초기 컴퓨터 시스템, 텍스트 파일 기초 규격 등 |
🔢 ASCII 코드 예시 (10진수 기준)
| 문자 | ASCII 코드 |
|---|---|
A |
65 |
a |
97 |
0 |
48 |
! |
33 |
👇🏼 공식 ASCII 코드 구성이 궁금하다면?
🔗 공식 ASCII 표 보기 (ascii-code.com)
🌐 Unicode란?
컴퓨터가 전 세계로 보급되면서 각 나라의 언어를 표현하기 위해 다양한 인코딩 방식들이 제각각 만들어졌습니다.
이로 인해 같은 문서도 인코딩이 다르면 글자가 깨지는 문제가 발생했습니다.
이러한 파편화 문제를 해결하고 전 세계의 모든 문자를 하나의 표준 안에 담기 위해 등장한 국제 규약이 바로 Unicode(유니코드) 입니다.
| 특징 | 설명 |
|---|---|
| 글자 수 | 149,000자 이상 (버전업에 따라 지속적으로 확장 중) 💥 |
| 포함 문자 | 전 세계 거의 모든 언어 + 이모지(😊), 특수 기호 ✅ |
| 표현 방식 | U+XXXX 형태의 16진수 코드 포인트(Code Point) 부여 |
🔣 Unicode 코드 예시
| 문자 | Unicode (Code Point) |
|---|---|
A |
U+0041 (아스키코드와 동일한 번호 부여) |
가 |
U+AC00 |
中 |
U+4E2D |
😊 |
U+1F60A |
👇🏼 특정 문자의 유니코드 값이 궁금하다면?
🔗 공식 Unicode 검색 (unicode-table.com)
💡 잠깐! 유니코드와 UTF-8의 차이점
유니코드(Unicode)전 세계 문자에 고유한 번호를 매겨놓은 문자 집합(Character Set)이자 표준입니다. (예: '가'는 무조건 U+AC00)
UTF-8
유니코드 번호를 컴퓨터가 효율적으로 이해하도록 가공하는 인코딩 방식(Encoding)입니다.
영문은 1바이트, 한글은 3바이트 등으로 저장 공간을 유동적으로 할당하여 용량을 절약하는 가장 대중적인 방식입니다.
📝 마무리 요약
| 비교 포인트 | ASCII (아스키코드) | Unicode (유니코드) |
|---|---|---|
| 탄생 시기 | 1960년대 (초기 컴퓨터 환경) | 글로벌 시대의 다국어 표준 |
| 표현 범위 | 128개 한정 (영문 위주) | 110만 개 이상의 공간 보유 (14만 자 이상 할당) |
| 다국어/이모지 | ❌ 불가 | ✅ 완벽 지원 |
| 비유하자면? | 📞 미국 영어만 적힌 얇은 전화번호부 | 📚 전 세계 모든 언어가 담긴 초대형 백과사전 |
| 호환 관계 | ⚠️ 유니코드 문자를 읽을 수 없음 | ✅ 아스키코드 영역을 그대로 포함함 |
이번에 문자 인코딩을 정리하면서, 평소 당연하게 쓰던 이모지나 다양한 언어들이 유니코드라는 거대한 약속 덕분에 원활하게 작동한다는 점을 다시 한번 깨달았습니다.
앞으로 웹 서핑이나 개발 중 텍스트가 뷁처럼 깨지는 현상을 마주치면,
인코딩 방식(Charset)이 일치하지 않아 발생하는 문제라는 점을 명확하게 파악할 수 있을 것 같습니다. 😉
'Computer Science > 데이터 인코딩' 카테고리의 다른 글
| BOM이 뭔가요? (0) | 2025.04.15 |
|---|