전산직/컴퓨터일반

문자 인코딩(ASCII, EUC-KR, UNICODE)

glorypang 2025. 11. 10. 16:15
728x90
반응형
SMALL

ASCII — 인코딩의 출발점

시대: 1960년대
범위: 영어 알파벳, 숫자, 기본 특수문자 (총 128자)

ASCII(American Standard Code for Information Interchange)는 현존하는 모든 문자 인코딩의 뿌리
영어만 쓰던 시절에 만들어졌고, 한 문자를 7비트(1바이트)로 표현

 

예를 들어:

  • A → 65 (0x41)
  • a → 97 (0x61)
  • 0 → 48 (0x30)

ASCII는 지금도 여전히 모든 인코딩의 하위 호환 기반
즉, UTF-8, ISO-8859-1, EUC-KR 등은 ASCII 문자 영역을 그대로 유지

요약: 인코딩의 원조. 영어만 가능하지만, 모든 문자 시스템의 기초.


EUC-KR & CP949 — 한국어 인코딩의 역사

시대: 1980~1990년대
범위: 한글 완성형 문자
바이트: 2바이트 인코딩

EUC-KR

  • UNIX와 리눅스 환경에서 사용된 한국어 인코딩
  • 완성형 한글(2바이트) 지원
  • 총 2,350여 개의 한글 음절을 표현 가능
  • 한글 조합형(자음+모음 조합)은 지원하지 않음

CP949 (또는 Windows-949)

  • 마이크로소프트가 EUC-KR을 확장한 버전
  • 11,172자 전체 한글 음절 + 추가 한자 지원
  • 윈도우 환경의 표준 한글 인코딩

EUC-KR과 CP949는 거의 비슷해 보이지만, 서로 호환되지 않는 부분이 있어 문서 깨짐(�) 문제가 종종 발생

요약: 한글 완성형 인코딩. 지금은 UTF-8로 대체되었지만, 옛 데이터에서는 여전히 중요.


Shift-JIS — 일본어의 대표 인코딩

시대: 1980~1990년대
범위: 일본어(히라가나, 가타카나, 한자)
바이트: 1~2바이트 (가변 길이)

Shift-JIS는 일본의 JIS 문자 집합을 기반으로 한 인코딩
문자에 따라 1바이트 또는 2바이트를 사용하는 가변 길이 구조이며, 마이크로소프트 윈도우와 웹에서 널리 사용

 

다만, Shift-JIS는 EUC-JP, ISO-2022-JP와 호환되지 않아
메일이나 웹에서 깨짐이 빈번하게 발생

 

요약: 일본어 전용 인코딩. 윈도우 중심으로 쓰였지만 호환성 문제 많음.

Unicode (UTF-8 중심) — 현대의 표준

시대: 1990년대 이후
범위: 전 세계 모든 문자
대표 인코딩: UTF-8, UTF-16, UTF-32

유니코드는 모든 문자를 고유 코드포인트(U+XXXX) 로 부여하여
언어마다 충돌 없이 표현할 수 있게 만든 국제 표준

UTF-8

  • 웹의 기본 인코딩
  • 영어는 1바이트, 한글은 3바이트, 이모지는 4바이트
  • 가변 길이 구조
  • ASCII와 완벽 호환 (영문은 동일한 코드로 저장)

UTF-16

  • 문자를 2바이트 또는 4바이트로 표현
  • 윈도우, 자바, C# 내부에서 주로 사용

UTF-32

  • 모든 문자를 4바이트로 고정
  • 단순하지만 메모리 비효율적 → 내부 처리용

현재는 대부분의 OS, 웹, 프로그래밍 언어가 UTF-8을 기본으로 사용

요약: 전 세계 문자 통합 표준. 오늘날 사실상 유일한 선택지.


요약 비교

인코딩  주요 언어  바이트 수 특징  현재 사용
ASCII 영어 1B 기본 문자 체계 기반으로 사용
EUC-KR / CP949 한글 2B 완성형 한글 구형 시스템
Shift-JIS 일본어 1~2B 일본어 전용 구형 환경
UTF-8 전 세계 1~4B 표준 인코딩 현재 표준

 

728x90
반응형
LIST