본문 바로가기
컴퓨터 활용

8비트 아스키코드와 16비트 유니코드, 문자 코드

by easyfly 2022. 12. 21.
반응형

코드란?

코드(Code)란 무엇일까요?

음악에 악보가 있다면, 컴퓨터 프로그램에는 그 소스가 되는 것이 있습니다. 바로 코드로 이루어진 그 무엇이 있습니다. 그 무엇이 소프트웨어 프로그램이 될 수 있고, 문자를 나타내는 것이라면 문자 코드가 됩니다.

여기서는 컴퓨터를 접하면서 많이 만나게 되는 '문자 코드'를 알아보겠습니다. 문자 코드에는 오래전부터 사용해온 아스키코드와 현재 일반화된 유니코드가 있습니다. 이 두 가지 코드의 차이와 사용상의 차이를 알아봅니다.


문자 코드

컴퓨터에서 문자를 나타내려면 미리 만들어진 약속을 지켜야 합니다. 문자 표현의 코드에는 아스키(ASCII) 코드와 유니코드가 있습니다.

아스키(ASCII)는 American Standard Code for Information Interchange의 머리글자입니다. '정보 교환을 위한 미국 표준 약속'이라는 의미의 'ASCII'는 미국이 쓰는 글자인 영문자에 대한 약속입니다. 아스키에는 대문자, 소문자, 숫자, 특수문자를 8비트 안에서 약속합니다.

'A'를 8비트로 '01000001'로 컴퓨터가 이해하는 이진수로 약속하는 것입니다. 이진수 01000001은 십진수로 변환하면 '2의 0승 + 2의 6승'이 됩니다. 즉 십진수 65가 아스키 'A'가 됩니다. 소문자 'a'는 8비트로 '01100001'입니다. 십진수로 앞의 대문자 'A'에 '2의 5승' 즉 32를 더하면 되니까 십진수로는 97이 됩니다.


아스키코드

아스키코드란 8비트로 영어로 사용되는 모든 문자, 숫자, 특수문자를 표현하기 때문에 '2의 8승' 개의 경우를 나타낼 수 있습니다. 위에 대문자 'A'와 소문자 'a'를 약속했듯이 다른 문자 약속도 그런 방식으로 만든 약속을 표로 만든 것이 '아스키코드표'입니다.

ASCII 코드표



유니코드

아스키코드가 영어와 같은 음소문자 표현은 가능하나 한글 같은 음절 문자나 한자 같은 상형문자는 8비트로는 표현이 어렵습니다. 컴퓨터가 보편화되면서 영어로만 표현하던 컴퓨터 사용이 다양한 문자 체계를 표현하기 위해 확장이 필요해진 것입니다. 이에 8비트에서 16비트 문자 체계로 확대가 됩니다. 아스키코드는 그대로 유니코드 안으로 흡수가 되고 나머지 여유 공간에 다른 문자 체계가 들어서게 됩니다. 그 가운데 가장 많은 공간을 차지하는 것은, 역시 중국의 한자입니다. 약 9만 개의 약속이 한자로 정의되어 있습니다. 다음이 우리 한글. 약 1만 개의 약속이 차지합니다. 16비트로 표현할 수 있는 경우의 수는 '2의 16승', 즉 65546.

유니코드 한글 자모

유니코드로 약속된 코드를 보려면, 유니코드 사이트(home.unicode.org)를 접속하면 그 내용을 확인할 수 있습니다.

한글 표현에 관한 유니코드 약속입니다.

유니코드 문서에서 'Hangul Syllables'


정리

컴퓨터에서 문자를 표현하는 두 가지 방식에 대해 소개했습니다. 영문자까지는 8비트로 가능했으나 세계 각 국가의 문자를 표현하기 위해 등장한 것이 유니코드 체계라는 것을.

한글의 유니코드 표기

위 이미지는 유니코드 홈에서 한글 표기에 관한 문서 일부입니다. 16진수로 AC00~ACFF까지를 표로 보여주고 있습니다. 이와 같은 방식으로 여러 문자를 컴퓨터에 표현하는 것입니다.

반응형

댓글