Computer Science/데이터 인코딩

유니코드(Unicode)와 아스키 코드(ASCII)

UNarD 2025. 4. 1. 10:05

🖥️ 컴퓨터는 글자를 어떻게 읽을까?

컴퓨터는 텍스트(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