인코딩과 문자 집합/CP949
코드 페이지 949는 대한민국에서 사용되는 인코딩으로, 마소에서 만들었다. 한글 완성형 인코딩이기도 하며, EUC-KR의 확장이다.
구성 방법
+/-EUC-KR 인코딩은 다음과 같이 구성된다.
- 128보다 작은 바이트에 KS X 1003을 배당한다.
- 128보다 크거나 같은 바이트에 KS X 1001을 배당한다. 각 글자는 행과 열에 128을 더한 코드값을 사용하여 2바이트로 표현된다.
- 나머지 공간에 KS X 1001에 없는 8822자의 현대 한글을 가나다 순서대로 배당한다. 이 경우 첫째 바이트가 129부터 197까지이며, 둘째 바이트는 65부터 90까지(로마자 대문자), 97부터 122까지(로마자 소문자), 129부터 254까지의 범위이다. 단 첫째 바이트가 161 이상일 경우 KS X 1001과의 충돌을 막기 위해 둘째 바이트는 161 미만으로 한다.
따라서 KS X 1001의 40-27에 배당된 "위"라는 글자는 EUC-KR에서 C0 A7
라는 바이트 열로 표현된다.
한편 KS X 1001에 없는 "갘"이라는 글자는 KS X 1001에 없는 현대 한글 중 10번째이고 따라서 CP949에서 81 4A가 된다.
문제점
+/-정렬이 어려우며, 유니코드 재단에서 만든 인코딩은 점무늬 사각형표를 잘못 매핑하고 있다.