인코딩과 문자 집합/국규 9566

위키책, 위키책
둘러보기로 가기 검색하러 가기

국규 9566(KPS 9566)은 북한에서 사용하는 인코딩 및 문자 집합이다. 국규 9566-2003이 최신이다. 국규 9566에는 기본적인 94x94문자 집합과 확장이 있다.

  • 국규 9566-97과 9566-2000: 1997년에 제정되고 2000년에 개정된 문자 집합이다. 94 x 94 인코딩이다.
  • 국규 9566-2003: 2003년에 제정된 문자 인코딩으로, CP949와 같은 방식으로 확장하였다.


구성[+/-]

국규 9566-2000은 94×94 문자 집합이며, 정렬을 제외한 전체적인 구조는 KS X 1001과 유사하다. 각 행들은 다음과 같이 구성되어 있다.

  • 0x21 ~ 0x2C: 특수 문자 영역 (문장 부호, 그림 문자, 한글[조선어문자] 자모, 선 문자, 히라가나, 가타카나, 그리스 문자, 키릴 문자 등)
  • 0x2F: 사용자 정의 영역 A
  • 0x30 ~ 0x4C: 한글 영역. 자주 쓰이는 2679자를 북조선 자모 차례에 따라 배열했다.
  • 0x4D ~ 0x7E: 한자 영역. 4653자를 한글(조선어문자)과 같이 독음 순서대로 배열했다.
  • 0x4C행과 0x7E행의 0x50열부터는 각각 사용자 정의 영역 B·C이다.

국규 9566-2003에서 정의하는 기본 문자 집합은 2000년판의 문자 집합의 확장이며, 대략 다음과 같은 점이 다르다.

  • 0x2E행에 인코딩과 문자 집합/8859-1에는 있지만 포함되지 않은 문자들을 모두 추가했다. (예를 들어, ë는 ISO/IEC 8859-1에서 0xEB에 있고 국규 9566-2003에서 0xAEEB에 배당된다)
  • 유니코드와의 변환표를 4.0 버전에 맞춰서 변경하였다.
  • 몇몇 문자들이 변경되거나 사라졌다. 예를 들어 0x28행 0x26열에 배당되었던 켈빈 기호가 유로화 기호(€)로 바뀌었고, 0x2C행 0x4F열의 문자가 사라졌다.

국규 9566-2003의 문자 인코딩은 8비트 문자 인코딩이며, CP949와 유사하다.

  • 128보다 작은 바이트에 아스키를 배당한다.
  • 128보다 크거나 같은 두 바이트에 기본 94×94 문자 집합을 배당한다. 각 글자는 행과 열에 128을 더한 값을 사용하며, 행과 열 번호가 32 이상이기 때문에 실제로는 두 바이트는 161부터 254 범위에 있다.
  • 기본 문자 집합에 없는 8493자의 현대 한글(조선어문자)을 북조선 자모 차례에 따라 배당한다. 이 문자들은 CP949의 확장 한글 영역과 정확히 같은 곳에 위치해 있으며, 국규코드가 더 많은 한글을 기본 영역에 담고 있어 확장 한글의 수가 적다. 따라서 첫째 바이트가 129부터 194까지로 확장 영역이 보다 적은 것이 다르다.