한글 조합형 인코딩

(조합형에서 넘어옴)

한글 조합형 인코딩 또는 조합형한글을 그 낱자에 따라 기계적으로 조합하여 표현하는 문자 인코딩들을 총칭하는 말이다. 1980년대 초반부터 1990년대 중반까지 널리 사용되었다.

종류 편집

상용 조합형이 나오기 전까지 회사나 프로그램에 따라서 다양한 종류의 조합형 인코딩이 쓰였으나, 그 구조를 가지고 분류하면 크게 몇 종류로 나눌 수 있다.

n바이트 조합형 편집

1980년대 초반에 MSX나 대형 컴퓨터 등에서 사용되던 방법. 최상위 비트를 사용하지 않고 한글을 전송하므로 하위 호환성을 유지할 수 있음. 한글이 나오는 부분을 SI와 SO로 둘러 싸서 구분하고, 그 안에서는 홀낱자를 순서대로 배열하여 한글을 표현한다. 예를 들어 "위키백과"는 다음과 같이 표현한다.

<SI>ㅇㅜㅣㅋㅣㅂㅐㄱㄱㅗㅏ<SO>

n바이트 조합형이라는 이름은 한글 한 글자가 2바이트에서 최고 5바이트가 될 수 있기 때문에 붙었다. 단점은 다른 인코딩에 비해 결과물이 다소 길고 가변 길이라서 처리가 불편하다.

다른 인코딩의 등장으로 얼마 못 가 사라졌지만, 그 기본 원리는 계속 사용되고 있다. 예를 들어 유니코드의 한글 자모 영역은 n바이트 조합형과 비슷한 방법인 첫가끝 한글 부호계를 사용한다.

3바이트 조합형 편집

한 글자의 길이가 가변적인 n바이트 조합형의 단점을 보완하기 위해, 한글 한 글자를 초성, 중성, 종성으로 나누고 각각을 인코딩하여 항상 3바이트로 표현하는 방법. 과 같은 겹낱자도 1바이트로 표현하고, 종성(받침)이 없는 경우 채움 문자를 넣어서 쓴다. 한글 한 글자의 길이가 일정하게 유지되기 때문에 처리가 편리하지만 2바이트 조합형에 비해서는 결과물이 길다.

3바이트 조합형은 나중에 KS X 1001에서 한글 영역에 들어 있지 않은 현대 한글을 표현할 때 사용되었다. (실제로는 3바이트는 아니다) 이 경우 한글 채움 문자를 앞에 넣어서 표시를 해 줘야 하기 때문에 실질적으로는 4개의 글자를 사용하게 된다.

2바이트 조합형 편집

최상위 비트를 사용할 수 있는 환경에서 2바이트로 한글을 표현하기 위해 사용하는 방법이며, 그냥 조합형이라고 하면 이 종류의 인코딩을 나타내는 경우가 많다. 이 방법에서는 2바이트(16비트)를 최상위 1비트, 초성 5비트, 중성 5비트, 종성 5비트로 다음과 같이 나누고, ASCII와 겹치지 않도록 한글은 최상위 비트를 설정하여 표현하였다.

1xxxxxyy yyyzzzzz

이 방법은 3바이트 조합형과 같은 원리를 사용하면서 결과물이 더 짧기 때문에, 7비트 환경을 제외하고 널리 사용되었다. 또한 미완성 한글을 2바이트로 표현할 수 있다는 장점도 있다. 그러나 둘째 바이트의 최상위 비트가 0일 수도 있기 때문에 문자열 검색 등에서 문제가 생길 수 있다.

초성, 중성, 종성에 실제로 어떤 코드를 배당하고, 한자와 특수문자를 어떻게 표현할지는 인코딩마다 서로 다르며, 상용 조합형, 삼성 조합형, 금성 조합형, 도깨비 조합형 등이 공존했다. 이 중 가장 많이 사용되었고 마지막까지 살아남은 인코딩은 몇 개의 회사가 함께 설계한 상용 조합형으로, 나중에 KS X 1001:1992의 부속서 3에 수용되었다.

조합형의 사멸 편집

1987년KS X 1001이 제정되고, 이에 기반한 완성형 인코딩이 쓰이기 시작했지만 한동안 완성형과 조합형은 서로 공존했다. 조합형이 완전히 사멸한 결정적인 계기는 확장 완성형을 채용한 윈도우 95의 발표였다. 운영체제 차원에서 조합형을 쓸 수 없게 되면서 사용자들이 조합형을 쓰지 않게 되었던 것이다. 확장 완성형에 대한 비난이 거세지자 마이크로소프트는 조합형 인코딩 기반인 CP1361을 추가했지만, 코드 변환을 제외하고는 실제로 사용할 수 없는 코드 페이지이다.

현재 조합형은 거의 사용되지 않으며, KS X 1001에 없는 한글이나 미완성 한글을 표현하는 데는 유니코드가 흔히 사용된다. 다만 넓은 의미에서는 유니코드의 한글 자모 및 음절 영역이 조합형 인코딩의 영향을 받은 것으로 볼 수 있다.

같이 보기 편집

외부 링크 편집