컴퓨터는 기본적으로 전기 신호의 유무, 즉 0과 1만을 이해할 수 있다. 그런데 어떻게 그런 컴퓨터가 ‘문자’로 된 명령어를 이해하고 처리하고 출력할 수 있는걸까?
기본 용어에 대한 이해
문자 집합
컴퓨터가 인식할 수 있는 문자의 모음을 문자 집합(character set)이라고 한다. 컴퓨터는 문자 집합에 속해 있지 않은 문자는 이해할 수 없다.
예를 들어 문자 집합이 {a, b, c}인 경우, 컴퓨터는 d나 e 같은 문자는 이해하지 못한다.
인코딩
컴퓨터는 결국 0과 1만 이해할 수 있다. 문자 집합에 속한 문자라고 한들, 그 문자를 그 상태 그대로 이해할 수 없다.
컴퓨터가 이해할 수 있도록 문자를 0과 1로 변환하는 과정이 필요하다. 이를 인코딩(encoding)라고 한다.
같은 문자 집합에 대해서도 다양한 인코딩 방법이 있을 수 있다.
디코딩
0과 1로 이뤄진 코드를 다시 문자로 변환하는 과정을 디코딩(decoding)이라고 한다.
문자 집합의 종류
아스키 코드
아스키(ASCII)는 초창기 문자 집합 중 하나로, 영어 알파벳과 아라비아 숫자, 그리고 일부 특수 문자를 포함한다.
아스키 코드는 7비트로 표현되므로 총 128개의 문자를 표현할 수 있다.
128개의 각 문자는 0부터 127까지의 숫자 하나 하나에 대응한다.
보다시피 아스키 코드만으로는 영어권 이외의 문자들을 표현할 수 없다. 따라서 새로운 문자 집합이 필요했고 EUC-KR이 등장했다.
EUC-KR
EUC-KR은 총 2,350개 가량의 한글 글자를 표현할 수 있다. 하지만 이는 모든 한글 조합을 표현하기에는 부족한 양이다. 따라서 문자 집합에 정의되지 않은 ‘쀍’ 같은 글자는 EUC-KR로 표현할 수 없다.
종종 일부 한글 문자가 깨져서 보이는 웹사이트를 발견한다면 이는 EUC-KR을 문자 집합으로 사용하고 있어서 그런걸 수도 있다.
유니코드
유니코드는 EUC-KR보다 훨씬 다양한 한글을 지원할 뿐만 아니라, 모든 나라의 언어를 아우르는 문자 집합이다.
유니코드는 현대에서 가장 많이 사용하는 표준 문자 집합이다.
UTF
UTF는 Unicode Transformation Format의 약자로, 유니코드를 인코딩하는 방법이다.
정리해서 말하자면, 유니코드는 문자 집합이고, UTF는 유니코드를 인코딩하는 방법이다.
UTF의 종류에는 UTF-8, UTF-16, UTF-32 등이 있고, 이 중에서 가장 대중적으로 쓰이는 것은 UTF-8이다.
컴퓨터는 문자를 숫자로 인코딩해야 이해할 수 있다.
- 문자 집합 : 컴퓨터가 이해할 수 있는 문자의 모음. ASCII, EUC-KR, 유니코드 등이 있다.
- 인코딩 : 문자를 0과 1로 변환하는 것. 유니코드의 인코딩 방식으로 UTF-8 등이 있다.
- 디코딩 : 0과 1을 문자로 변환하는 것.
'Computer Science > 컴퓨터 구조' 카테고리의 다른 글
컴퓨터는 어떤 부품으로 이뤄져 있을까?🤔 (컴퓨터의 4가지 핵심 부품) (0) | 2024.06.22 |
---|