컴퓨터구조 & 운영체제

20241229 컴퓨터구조 + 운영체제 3일차

Kimjoy 2024. 12. 29. 23:25

컴퓨터는 0과 1로 표현된 정보만 이해할 수 있고, 0과 1로 모든 정보를 표현한다.

지난번에는 0과 1로 숫자를 표현하는 방법을 알아보았고,
오늘은 문자를 표현하는 방법을 알아본다.

문자를 표현하는 방법에는 아스키코드, EUC-KR, UTF-8 등이 있는데, 이를 이해하기 위해 문자 집합, 인코딩, 디코딩에 대해 알아봐야 한다.

컴퓨터가 인식하고 표현할 수 있는 문자의 모음을 문자 집합이라고 하는데 컴퓨터는 문자 집합에 존재하는 문자만 이해할 수 있다.
하지만 문자 집합에 있는 문자라고 해서 컴퓨터가 그대로 이해할 수 있는 것은 아닌데,
그 이유는 문자 집합에 있는 문자가 0과 1로 이루어진 문자가 아니기 때문이다.
그래서 문자를 컴퓨터가 이해할 수 있도록 0과 1로 변환하는 과정이 필요한데, 이 변환 과정을 문자 인코딩이라고 하고,
인코딩 후에 0과 1로 이루어진 결과값이 문자 코드가 된다.
반대로, 컴퓨터가 표현하거나 이해한 0과 1로 이루어진 문자 코드를 사람이 이해할 수 있는 문자로 변환하는 과정을 문자 디코딩이라고 한다.

아스키코드(ASKII)
아스키는 초창기 문자 집합 중 하나로 영어 알파벳, 아라비아숫자, 일부 특수문자를 포함한다.
아스키 문자 집합에 속한 문자는 각각 7비트로 표현되고, 총 128개의 문자를 표현할 수 있다.
아스키 문자에 대응된 고유한 수(코드포인트)를 아스키코드라고 하고,
아스키 코드를 이진수로 표현하여 아스키문자를 0과 1로 표현할 수 있다.
단점은 한글, 아스키문자 집합 외의 문자, 특수문자는 표현할 수 없다.

EUC-KR
한글을 인코딩하기위해 등장한 방식으로, 완성형 인코딩 방식이다.
한글 인코딩에는 완성형(한글 완성형 인코딩)과 조합형(한글 조합형 인코딩)이 존재한다.
완성형 인코딩 방식은 초성, 중성, 종성의 조합으로 이루어진 완성된 하나의 글자에 고유한 코드를 부여하는 방식이고,
조합형 인코딩 방식은 초성을 위한 비트열, 중성을 위한 비트열, 종성을 위한 비트열을 할당하여 그것들의 조합으로 하나의 글자코드를 완성하는 인코딩 방식이다.

유니코드와 UTF-8
유니코드는 EUC-KR보다 훨씬 다양한 한글을 포함하며 대부분 나라의 문자, 특수문자, 화살표나 이모티콘까지도 코드로 표현할 수 있는 통일된 문자 집합이다.
유니코드는 현대 문자를 표현할 때 가장 많이 사용되는 표준 문자집합이며, 문자 인코딩 세계에서 매우 중요한 역할을 맡고 있다.
유니코드는 글자에 부여된 값 자체를 인코딩된 값으로 삼지 않고 이 값을 다양한 방법으로 인코딩하는데,
UTF-8, UTF-16, UTF-32 등이 있다.