인프라/컴퓨터 구조

0과 1로 문자를 표현하는 방법

패잇 2024. 1. 30. 10:51

문자 집합과 인코딩

문자집합

: 컴퓨터가 인식하고 표현할 수 있는 문자의 모음. 컴퓨터는 문자집합에 있는 문자만 이해할 수 있다.

 

인코딩과 디코딩

  • 인코딩 : 문자집합에 속한 문자를 컴퓨터가 이해할 수 있는 0과 1로 변환하는 과정
  • 디코딩 : 0과 1로 표현된 문자 코드를 사람이 읽을 수 있는 문자로 변환하는 과정

 

문자집합의 종류

아스키 코드

초창기 문자 집합 중 하나. 알파벳, 아라비아 숫자, 일부 특수 문자를 포함.

 

EUC-KR

아스키 코드로 표현 가능한 문자의 수는 턱없이 부족했음. 그래서 등장한 한글 인코딩 방식이 EUC-KR이다.

- 초성, 중성, 종성의 조합으로 완성된 하나의 글자에 고유한 코드를 부여하는 완성형 인코딩 방식을 사용

- 한글 한 글자에 2바이트 크기의 코드를 부여함

- 모든 한글 조합을 표현할 수 없는 한계가 있음. EUC-KR을 사용하는 웹사이트의 한글이 깨지거나 표현하지 못하는 이름으로 인해 문제가 발생하기도 함.

 

유니코드와 UTF-8

여러 나라의 문자를 광범위하게 표현할 수 있는 통일된 문자 집합이다. 각 나라별로 문자집합이 존재하면 다국어 지원하는 프로그램 만들때 사용하기 어려움. 이러한 문제를 해결하기 위해 통일된 문자집합 등장. 

- 글자에 부여된 값 자체를 인코딩된 값으로 삼지 않고 다양한 방법으로 인코딩함.

- 인코딩 방법으로 UTF-8, UTF-16, UTF-32 등이 있다.

- UTF-8 방법은 한글 한 글자에 3바이트를 부여한다.