한글 組合型 인코딩

위키百科, 우리 모두의 百科事典.

한글 組合型 인코딩 또는 組合型 한글 을 그 낱자에 따라 機械的으로 組合하여 表現하는 文字 인코딩 들을 總稱하는 말이다. 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 에 없는 한글이나 未完成 한글을 表現하는 데는 유니코드 가 흔히 使用된다. 다만 넓은 意味에서는 유니코드의 한글 字母 및 音節 領域이 組合型 인코딩의 影響을 받은 것으로 볼 수 있다.

같이 보기 [ 編輯 ]

外部 링크 [ 編輯 ]