CP949
From IT위키
- Code Page 949
- 한국어판 Microsoft Windows의 기본 코드 페이지로, 한글 인코딩의 한 종류이며 EUC-KR의 확장형
- '통합 완성형'이나 '확장 완성형'이라고도 하며, 마이크로소프트가 개발했기 때문에 MS949, Windows-949 등으로도 불림
등장 배경[edit | edit source]
- KS C 5601:1987를 베이스로 삼은 EUC-KR은 현대 한글에서 자주 이용되는 2350자만을 지원
- 실제 사용되는 한글 위주로 구성하여 '걐', '쌰', '쓔' 등 지원이 안되는 문자가 다수 발생
- 나머지 8000여자를 지원하는 인코딩의 필요성이 대두
- KS X 1001는 한글 채움 문자를 사용하여 없는 글자를 표현하는 방식이 정의되어 있지만 구현상의 어려움으로 Mozilla Firefox를 포함한 몇몇 앱만 지원
명칭[edit | edit source]
- 마이크로소프트에서는 이 인코딩을 기반 문자 집합 이름인 "ks_c_5601-1987"로 사용
- IANA에 등록되어 있지 않지만, W3C와 WHATWG의 인코딩 스펙에 EUC-KR이라는 이름으로 표준으로 지정
EUC-KR과의 차이[edit | edit source]
- CP949 인코딩은 EUC-KR의 확장이며, 하위 호환성이 있음
- 대부분의 경우 호환되나 드물게 EUC-KR과 CP949를 구분하거나, EUC-KR만을 지원하는 프로그램에서는 에러 발생
- 웹사이트의 경우 개발자들이 대부분 인코딩을 EUC-KR로 설정하면서도 윈도우 환경에서 CPC949로 작업하는 경우가 많아, HTML5 표준에선 EUC-KR로 정의된 문서는 모두 CP949로 해석하는 것을 표준으로 함
- CP949에서 새로이 추가된 8000여자는 다음 규칙에 따라 가나다순을 차례대로 2바이트로 할당
- 첫 번째 바이트는 0x81~0xC6 사이를 할당
- 두 번째 바이트는 0x41~0x5A(대문자 A~Z), 0x61~0x7A(소문자 a~z), 0x81~0xFE를 할당
- 단, EUC-KR와의 충돌을 피하기 위해, 첫 번째 바이트가 0xA1 이상인 경우에는 두 번째 바이트가 0xA0을 초과하지 않도록 제한
같이 보기[edit | edit source]
참고 문헌[edit | edit source]
- 위키피디아 코드 페이지 949
- 나무위키 CP949