국규 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에 배당된다)
128보다 크거나 같은 두 바이트에 기본 94×94 문자 집합을 배당한다. 각 글자는 행과 열에 128을 더한 값을 사용하며, 행과 열 번호가 32 이상이기 때문에 실제로는 두 바이트는 161부터 254 범위에 있다.
기본 문자 집합에 없는 8493자의 현대 한글(조선어문자)을 조선민주주의인민공화국 자모 차례에 따라 배당한다. 이 문자들은 코드 페이지 949의 확장 한글 영역과 정확히 같은 곳에 위치해 있으며 첫째 바이트가 129부터 194까지인 것만 다르다.
국규 9566-2003에 할당된 16776자 중 총 22자가 당시 시점에서 유니코드에 포함되어 있지 않았고 그 중 16자는 특수 문자이다. 나머지 6자는 0x24행 0x68열부터 0x6D열까지 배치된 중복된 한글(조선어) 음절인 "김, 일, 성, 김, 정, 일"이며[2][3], 따라서 국규 9566은 유니코드와 왕복 변환(round trip)을 할 수 없다. 따라서 범용 문자 집합에다 이 글자들을 추가할 것이 요구되었으나 유니코드 컨소시엄은 2000년에 이를 거절하였다.[4][5]
유니코드 컨소시엄은 김씨 일가의 이름 및 조선노동당 기호(동그라미 쳐진것과 쳐지지 않은 것 총 두 개)를 제외한 나머지 특수 문자들을 유니코드에 추가하여 특수문자 2자와 중복된 한글(조선어) 음절인 "김, 일, 성, 김, 정, 일" 6자 총 8자가 유니코드에 포함되어있지 않게 되었다. 김정은이 3대 세습을 한 뒤에 김정은의 이름이 국규 9566 코드에 추가되면서 2014년 현재 시점에서 특수문자 2자, 중복된 한글 9자("김, 일, 성, 김, 정, 일, 김, 정, 은")가 유니코드에 등재되어 있지 않다.