menu
문자코드
오피니언 칼럼

[IT 이야기] 문자코드

김홍철 한국기술금융협회 IT 전문위원

 

통신(通信)이란 상호간 신뢰를 교환(通)하는 행위이다. 서로 떨어진 곳에 있는 대상들은 통신을 하기 위해 자신이 보낸 메시지를 정확하게 통신 네트워크에 전달해야 하며, 송/수신 양측에서는 주고받는 메시지를 이해할 수 있도록 표준화된, 이해할 수 있는 방식으로 부호화하고, 복호화하는 방안이 강구돼야 한다.

이는 서로 다른 언어를 사용하는 사람에게 의사전달을 하기 위해서는 자신의 언어를 번역하여 상대방이 이해할 수 있는 형태로 바꾸어 전달해야 하는 것과 같은 의미이다, 즉 인간이 사용하는 한글, 영문자, 특수문자 등을 컴퓨터에서 사용하려면, 입력되는 문자를 컴퓨터가 이해할 수 있는 디지털 형태로 바꾸어 주어야 한다는 것인데, 통신을 위해서는 당연히 고려돼야 할 이러한 사항을 뜬금없이 왜 언급하는가 하는 독자도 있을 수 있으나, 오늘 칼럼의 주제인 ‘문자코드’를 설명하기 위해서는 먼저 이것이 명확하게 설명돼야 하기 때문이다.

한글의 모음과 자음, 영어의 알파벳과 같이 인간이 일상에서 사용하는 문자를 컴퓨터가 알아보기 위해서, 각 문자별로 약속된 ‘0’과 ‘1’의 이진수(디지트)로 만든 특정한 값을 정해 두었는데, 이를 ‘문자이진코드’라고 부른다. 세계 각국의 언어, 문자가 다르듯이 각 국가나 개발자들은 자신들 문자 표현에 적합하도록 문자이진코드를 개발해 왔는데 주로 사용하는 문자이진코드에는 아스키코드와 유니코드가 있다.

이 중 ‘아스키코드(ASCII; American Standard Code for Information Interchange)’는 ‘미국정보교환 표준부호’라고 직역할 수 있으며, 무역·경제뿐만 아니라 통신 분야에서도 전 세계를 지배하고 있는 미국의 표준협회가 데이터 처리 및 통신시스템 상호간의 정보교환용 표준부호로 제정한 것으로, 영어가 사용되는 대부분의 정보기기들에서 사용되고 있다. 좀 더 구체적으로는 PC나 노트북 등 우리가 문자를 생성하기 위해 타이핑하는 키보드 위에 있는 대문자, 소문자 알파벳, 숫자, 기호, 제어부호 등 총 128종을 각각 7비트로 부호(Code)화 한 것이라 할 수 있다.

국제표준화기구(ISO)가 제정한 국제부호체계는 바로 이 아스키코드를 기반으로 만들어진 것이며, 모든 PC나 노트북 등 컴퓨터기기에서는 바로 본 아스키코드를 이용해 내부 부호처리 체계를 채택해 생산되고 있다. 1967년에 표준으로 제정돼 1986년에 마지막으로 개정된 본 코드는 33개의 출력 불가능한 제어문자들과 공백을 비롯한 95개의 출력 가능한 문자들로 이루어진다. 제어문자들은 명목상으로만 존재해 실제 사용되지는 않으며, 95개의 출력 가능한 문자들은 각각 52개의 영문 알파벳 대소문자, 0~9까지의 숫자 10개, 32개의 특수문자와 하나의 공백문자로 이루어진다.

이러한 규칙으로 아스키 문자표가 만들어졌는데 이를테면 숫자 ‘1’은 문자표 49번에 해당되어 49번에 해당하는 이진수 ‘0110001’이라는 코드를 가지게 되며, 알파벳 대문자 ‘A’는 아스키코드 65번에 해당하여 이진수 65에 해당하는 ‘1000001’이라는 7비트의 고유 아스키코드를 가지게 되는 것이다.

예컨대 PC에서 ‘Hi’라는 단어를 타이핑하여 상대방에게 전송한다고 가정해 보자. 먼저 대문자 ‘H’를 키보드에서 타이핑하면 신호는 메모리에 전달되고, 이를 인식한 메모리는 ‘H’에 해당하는 아스키코드표의 72번에 해당하는 이진수 ‘1001000’을 CPU에 전달하고 네트워크를 통해 상대방의 PC에 전달되면 상대방 PC역시 약속된 숫자로 복호화 하여 이를 화면에 디스플레이하게 되는 것이다. 소문자 ‘i’도 같은 과정을 통해 그에 해당하는 아스키코드표 105번의 이진코드 ‘1101001’을 변환 표현돼 전달된다.

이러한 원리를 기초해 각 나라의 문자언어들이 인코딩됐는데, 컴퓨터가 처리해야 하는 언어의 종류가 다양하다보니 이를 수용하기 위해 ‘유니코드–세계 모든 나라의 언어를 통일된 방법으로 표현할 수 있는 국제적인 하나의(Uni) 부호(code)를 의미한다–’라는 또 다른 이진코드를 개발했다.

전 세계 모든 나라의 언어를 표현해야 하는 특성상 유니코드는 2의 16승에 해당하는 총 6만 5536개의 문자표로 구성돼 있는데, 예컨대 한글 ‘가’라는 문자는 컴퓨터상의 16진 유니코드표에 해당하는 이진수 ‘1010110000000000’로 다소 복잡하게 표현된다. 우리가 무심코 타이핑하는 문자의 나열에 이 같은 체계적인 원리와 노력이 담겨져 있었던 것이다.
 

천지일보는 24시간 여러분의 제보를 기다립니다.
  • 카카오톡 채널: 천지일보
  • 전화: 1644-7533
  • 이메일: newscj@newscj.com
저작권자 © 천지일보 - 새 시대 희망언론 무단전재 및 재배포 금지
기사제보 지면구독신청
댓글