CP949

From IT Wiki
Revision as of 11:25, 7 April 2021 by 이수민 (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Code Page 949
한국어판 Microsoft Windows의 기본 코드 페이지로, 한글 인코딩의 한 종류이며 EUC-KR의 확장형
  • '통합 완성형'이나 '확장 완성형'이라고도 하며, 마이크로소프트가 개발했기 때문에 MS949, Windows-949 등으로도 불림

등장 배경

  • KS C 5601:1987를 베이스로 삼은 EUC-KR은 현대 한글에서 자주 이용되는 2350자만을 지원
    • 실제 사용되는 한글 위주로 구성하여 '걐', '쌰', '쓔' 등 지원이 안되는 문자가 다수 발생
    • 나머지 8000여자를 지원하는 인코딩의 필요성이 대두
  • KS X 1001는 한글 채움 문자를 사용하여 없는 글자를 표현하는 방식이 정의되어 있지만 구현상의 어려움으로 Mozilla Firefox를 포함한 몇몇 앱만 지원

명칭

  • 마이크로소프트에서는 이 인코딩을 기반 문자 집합 이름인 "ks_c_5601-1987"로 사용
  • IANA에 등록되어 있지 않지만, W3C와 WHATWG의 인코딩 스펙에 EUC-KR이라는 이름으로 표준으로 지정

EUC-KR과의 차이

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을 초과하지 않도록 제한

같이 보기

참고 문헌

  • 위키피디아 코드 페이지 949
  • 나무위키 CP949