KS X 1001

KS X 1001
MIME / IANAks_c_5601-1987
다른 이름KS C 5601
언어한국어, 영어, 러시아어
부분 지원:
그리스어, 일본어
표준KS X 1001
분류ISO-2022 호환 DBCS, CJK 인코딩
인코딩 포맷EUC-KR, ISO 2022, UHC, 조합형 한글
이전 인코딩N바이트 한글 코드 (KS C 5601-1974)
그 밖의 관련 인코딩KPS 9566, JIS X 0208, GB 2312
그림으로 나타낸 KS X 1001 문자 집합의 구조

KS X 1001한국 산업 규격으로 지정된 한국어 문자 집합으로서, 정식 규격명은 ‘정보 교환용 부호계 (한글 및 한자)’이며, 옛 이름인 KS C 5601로도 알려져 있다. 1974년에 처음으로 제정되었고, 2004년에 개정된 KS X 1001:2004가 최신 규격이다.

이 규격은 2바이트 부호계로서, x2121 - x7E7E 영역에서 8,836문자의 표현을 규정하는데, 문자는 제어 문자와 도형 문자로 분류하며, 도형 문자는 특수 문자, 괘선 조각, 숫자, 한글 낱자, 한글 글자 마디, 한자, 기본 로마 문자, 확장 로마 문자, 그리스 문자, 가나 문자, 키릴 문자로 구성되어 있다. 한글 부분은 기본적으로 2바이트 완성형 코드이지만, 부속서 3에서 2바이트 조합형 코드도 보조 부호계로서 규정되어 있다.

KS X 1001은 유니코드를 제외하고 대한민국에서 사용되는 거의 유일한 문자 집합이다. KS X 1001 기반의 문자 인코딩으로는 EUC-KR(완성형)과 ISO-2022-KR(과거 인터넷 메일에서 쓰던 문자 인코딩)이 있다. MS 윈도우에서 사용하는 CP949은 EUC-KR의 확장으로 2바이트로 표현할 수 없는 한글 글자 마디 8,822자를 추가한 것이다.

구성

KS X 1001은 전형적인 94×94 문자 집합이며, 각 행들은 다음과 같이 구성되어 있다.

  • 0x21 ~ 0x2C: 특수 문자(문장 부호, 그림 문자 등), 한글 낱자, 괘선 조각, 외국 문자(히라가나, 가타카나, 그리스 문자, 키릴 문자 등)
  • 0x30 ~ 0x48: 한글 글자 마디 영역. 자주 쓰이는 2350자만 가나다 순서대로 배열했다. 하지만 이것 때문에 이 영역에서 벗어난 글자를 정확히 인식하지 못하는 문제가 생겼다.[1]
  • 0x49: 사용자 정의 영역 A
  • 0x4A ~ 0x7D: 한자 영역. 4888자를 한글 독음 순서대로 배열했으며, 독음이 여러 개인 한자는 독음에 따라 중복되어 있다.
  • 0x7E: 사용자 정의 영역 B

특수 문자 영역은 개정판마다 계속 추가되고 있다. KS X 1001:1998에서는 ®('등록 상표' 줄임표), €(유로 기호)가, KS X 1001:2002에서는 ㉾('우편 번호' 줄임표, U+327E)가 추가되었다.

한글 채움 문자

이 규격에는 완성형 한글 코드인 기본 부호계에 포함되지 않은 한글에 대해서 글자 마디마다 맨 앞에 '채움' 문자를 덧붙여 교환하는 방식이 규정되어 있다. 즉, 한글 채움 문자(24-54, EUC-KR에서는 A4 D4)를 사용해서 "(채움) 초성 중성 종성"과 같이 한글 영역에 들어 있지 않은 한글을 표시하는 것은 가능하다. 예를 들어 '(채움) ㅆ ㅠ (채움)'은 KS X 1001에서 나타낼 수 없는 '쓔'라는 글자를 나타낸다. 이러한 확장 방법은 2004년 개정에서도 유지되어 있다.

부속서

이 규격의 부속서 3에서는 2바이트 조합형을 보조 부호계로 규정하고 있는데, 1992년 개정부터 기존 상용 조합형을 반영하여 표준화하였다. 아울러 부속서 4에서는 7비트 한글 낱자 부호계를 포함하여 2바이트 부호계가 적용되지 않는 특수 장비 등에 대한 한글 코드를 규정하고 있다.

완성형 한글 2350자

초성+중성+종성 완성자 '뢨', '썅', '쏀', '쓩', '쭁'은 포함되어 있으나, 이 글자들에서 종성을 뺀 '뢔', '쌰', '쎼', '쓔', '쬬'는 포함되어 있지 않다. 이는 입력 시에 문제를 일으킬 수 있다.

0x 0 1 2 3 4 5 6 7 8 9 A B C D E F
B0A
B0B
B0C
B0D
B0E
B0F
B1A
B1B
B1C 굿
B1D 귿
B1E
B1F
B2A
B2B
B2C 꼿
B2D
B2E 뀀
B2F
B3A
B3B
B3C
B3D
B3E
B3F
B4A
B4B
B4C
B4D
B4E
B4F
B5A
B5B
B5C
B5D
B5E
B5F
B6A
B6B
B6C
B6D
B6E
B6F
B7A
B7B
B7C
B7D
B7E
B7F
B8A
B8B 릿
B8C
B8D
B8E
B8F
B9A
B9B
B9C 믿
B9D
B9E
B9F
BAA
BAB
BAC
BAD
BAE
BAF
BBA
BBB
BBC
BBD
BBE
BBF
BCA
BCB
BCC
BCD
BCE
BCF
BDA
BDB
BDC
BDD
BDE
BDF
BEA
BEB
BEC
BED
BEE
BEF
BFA
BFB
BFC
BFD
BFE
BFF
C0A
C0B
C0C
C0D
C0E
C0F
C1A
C1B
C1C
C1D
C1E
C1F
C2A
C2B
C2C
C2D
C2E
C2F
C3A
C3B
C3C
C3D
C3E
C3F
C4A
C4B
C4C
C4D
C4E
C4F 퀀
C5A
C5B
C5C
C5D
C5E
C5F
C6A
C6B
C6C
C6D
C6E
C6F
C7A
C7B
C7C
C7D
C7E
C7F
C8A
C8B
C8C
C8D
C8E
C8F

자모별 통계

초성
자모 개수
171
120
141
128
86
127
129
129
73
163
86
208
135
82
112
107
106
105
142
합계 2350
중성
자모 개수
242
172
77
15
212
140
131
44
184
81
42
101
65
177
56
41
105
84
166
30
185
합계 2350
종성
자모 개수
(없음) 349
204
13
6
277
2
10
36
262
21
50
9
3
3
1
11
222
209
3
200
106
241
27
15
3
27
20
20
합계 2350

단점

KS X 1001에 모든 현대 한글을 표현할 수 있는 방법이 존재하는데도 모질라 파이어폭스 등을 제외한 대부분의 프로그램들이 구현하지 않고 있다. 따라서 KS X 1001은 사실상 2350자의 한글만 지원하기 때문에 모든 현대 한글을 제대로 표현할 수 없다는 비판이 제기되었다. 또한 2350자 바깥의 한글을 처리하는 방법이 프로그램마다 여러 가지로 나뉘면서 서로 다른 프로그램 사이에서 인코딩의 호환성이 보장되지 않는 문제가 생기기도 했다. 또한, 필요한 특수 문자는 배제되고 자판으로 손수 입력 가능한 특수 문자가 너무 많이 포함되었다는 비판도 존재한다.[2]

그 외에도 독음이 여러 개인 한자가 독음에 따라 중복되어 있기 때문에 나타나는 처리상의 문제도 있는데, 유니코드에 이런 특성이 고려되어 모든 중복된 한자가 유니코드 호환성 영역에 수록되기도 했다.

같이 보기

각주

  1. `믜`字 순한글 이름 곤욕
  2. 현행 KS 완성형 한글 코드의 문제점, 국립국어연구원 국어생활 1989년 가을호

참고 문헌

  • 〈정보 교환용 부호계(한글 및 한자)〉, 《한국산업규격》. 한국표준협회, 2005.

외부 링크