국규 9566

국규 9566(KPS 9566)은 조선민주주의인민공화국에서 국가 규격으로 지정한 유일한 소위 조선어 문자 집합 및 문자 인코딩이며, 2003년에 제정된 국규 9566-2003이 최신이다. 국규 9566은 적어도 세 종류의 문자 집합 또는 인코딩을 정의하며 각각은 다음과 같다.
 국규 9566-93: 1993년에 제정된 문자 집합으로 그 뒤의 표준과 호환성이 없고 거의 사용되지 않는다.
 국규 9566-97과 9566-2000: 1997년에 제정되고 2000년에 개정된 문자 집합이다.
 국규 9566-2003: 2003년에 제정된 문자 인코딩으로, EUC-KP 인코딩을 기반으로 CP949와 비슷한 방법으로 나머지 현대 한글(조선어문자)들을 모두 수록한 것이다. 그 외에 문자 집합 자체에 약간의 수정이 있었다. (공식적으로 EUC-KP는 등록되어있지 않다.)

국규 9566-97과 9566-2000은 EUC-KP 문자 인코딩으로 사용되는데, 이는 EUC-KR과 비슷하며 KS X 1001을 국규 9566으로 바꾼 것이다. 국규 9566-2003은 EUC-KP에서 인코딩할 수 없는 현대 한글들을 정규 EUC 영역 바깥에 추가한 것이며 기본적으로는 이전판과 하위 호환성이 있다. 하지만 이 인코딩들을 지원하는 프로그램이 거의 없기 때문에 현실적으로는 EUC-KR 등을 대신 사용하며, 문자 집합 자체는 국제 표준 등에서 참조 용도로만 사용하는 경우가 많다.

구성 

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

국규 9566-2003의 문자 인코딩은 8비트 문자 인코딩이며, 코드 페이지 949와 유사하다.
 128보다 작은 바이트에 ASCII를 배당한다.
 128보다 크거나 같은 두 바이트에 기본 94×94 문자 집합을 배당한다. 각 글자는 행과 열에 128을 더한 값을 사용하며, 행과 열 번호가 32 이상이기 때문에 실제로는 두 바이트는 161부터 254 범위에 있다.
 기본 문자 집합에 없는 8493자의 현대 한글(조선어문자)을 조선민주주의인민공화국 자모 차례에 따라 배당한다. 이 문자들은 코드 페이지 949의 확장 한글 영역과 정확히 같은 곳에 위치해 있으며 첫째 바이트가 129부터 194까지인 것만 다르다.

국규 9566-2003에 할당된 16776자 중 총 22자가 당시 시점에서 유니코드에 포함되어 있지 않았고 그 중 16자는 특수 문자이다. 나머지 6자는 0x24행 0x68열부터 0x6D열까지 배치된 중복된 한글(조선어) 음절인 "김, 일, 성, 김, 정, 일"이며, 따라서 국규 9566은 유니코드와 왕복 변환(round trip)을 할 수 없다. 따라서 범용 문자 집합에다 이 글자들을 추가할 것이 요구되었으나 유니코드 컨소시엄은 2000년에 이를 거절하였다.

유니코드 컨소시엄은 김씨 일가의 이름 및 조선노동당 기호(동그라미 쳐진것과 쳐지지 않은 것 총 두 개)를 제외한 나머지 특수 문자들을 유니코드에 추가하여 특수문자 2자와 중복된 한글(조선어) 음절인 "김, 일, 성, 김, 정, 일" 6자 총 8자가 유니코드에 포함되어있지 않게 되었다. 김정은이 3대 세습을 한 뒤에 김정은의 이름이 국규 9566 코드에 추가되면서 2014년 현재 시점에서 특수문자 2자, 중복된 한글 9자("김, 일, 성, 김, 정, 일, 김, 정, 은")가 유니코드에 등재되어 있지 않다.

각주

외부 링크 
  국규 9566-97의 문자표
  국규 9566-97의 문자표
 조선민주주의인민공화국(DPRK)의 문자셋
  국규 9566-2003의 변환표 (오픈오피스 과제 #33466)

문자 집합
문자 인코딩
한국어 컴퓨팅
조선민주주의인민공화국의 정보 기술
유니코드 미수록 문자