비전공자의 컴퓨터 구조 뽀개기 3편

Byte8teBit·2022년 9월 2일
0

컴퓨터가 0과 1로 문자를 이해하는 방법

문자들의 집합 (character set)

아마도 웹 개발을 하시는 분들이라면 html의 charset 이라는 프로퍼티를 자주 목격하실 겁니다. 이 charset은 문자의 모음을 나타냅니다. 이 문자들은 컴퓨터가 인식할 수 있는 문자들로 이루어져 있습니다. 이 문자들의 집합에 속해있는 글자들을 컴퓨터가 이해할 수 있도록 변환하는 과정을 문자 인코딩 이라고 부릅니다. 이렇게 생성된 결과물을 문자 코드 라고 부릅니다.

인코딩과 반대로 컴퓨터가 이해할 수 있는 문자를 인간이 이해할 수 있도록 변환하는 방식을 문자 디코딩 이라고 디코딩이라고 부릅니다.

아스키 코드 (ASCII)

아스키코드는 영어 알파벳과 몇 가지의 특수문자, 아라비아 숫자를 포함하는 character set입니다. 아스키 코드에 속하는 문자들은 7비트로 표현이 되는데요, 이는 2의 7제곱, 즉 128개의 문자를 표현할 수 있음을 뜻합니다. 실제로 아스키코드의 문자들은 8비트를 사용하며 이중 1비트를 오류를 검출하기 위해서만 사용됩니다.

아스키 코드의 단점

이렇게 문자를 표현할 수 있도록 해주는 아스키 코드에도 문제가 있습니다. 바로 표현 가능한 문자에 제한이 있다는 것이죠. 영어만 표현이 가능하기 때문에 영어 이외의 언어는 이해하지 못한다는 문제가 있습니다.

유니코드

위에서 아스키 코드의 단점으로 지적된 영어 이외의 언어를 표시하지 못한다는 문제를 해결하기 위해서 유니코드라고 부르는 대부분의 문자들을 포함한 character set이 만들어지게 됩니다.

유니코드의 인코딩 방법

유니코드 내에서 각각의 글자는 십육진수로 이루어진 고유한 값을 갖게 됩니다. 다만, 이 값을 그대로 사용하는 것이 아니라 선택된 고유한 인코딩 방식을 사용합니다. 가장 대표적인 것이 바로 UTF-8 이라는 방식입니다.

profile
세상에 도움이 되고픈 개발자

0개의 댓글