인프라/컴퓨터 구조
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바이트를 부여한다.