KS X 1001

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

KS X 1001은 1997년 정보 부문(X)이 신설되면서 KS C 5601에서 개정된 대한민국 KS 표준 한글 코드이다. 1974년 처음 제정된 KS C 5601은 7비트 한글 코드를 사용했으며, 이후 여러 차례 개정을 거쳐 1987년 94x94 완성형 문자 집합을 표준화했다. 이 문자 집합은 한글 2350자, 한자 4888자, 기타 986자로 구성되었으며, EUC-KR 형식으로 사용된다. 1992년에는 조합형 부호(Johab)가 부속서에 추가되었고, 1998년과 2002년 개정에서 유로 기호와 우편 번호 기호 등이 추가되었다. KS X 1001은 EUC-KR, ISO-2022-KR, Johab 등의 인코딩 방식을 사용하며, 2350자의 한글만 지원하여 모든 현대 한글을 표현할 수 없다는 단점이 있다.

KS X 1001
기본 정보
이름KS X 1001
다른 이름KS C 5601
표준KS X 1001
언어한국어
영어
러시아어
그리스어 (부분 지원: 그리스 문자와 종결 시그마 누락)
일본어 (부분 지원: 장음 부호, 신자체, 국자 누락)
덴마크어 (부분 지원: 소문자 å 누락, 대문자 포함, Ø와 Æ 포함)
노르웨이어 (부분 지원: 소문자 å 누락, 대문자 포함, Ø와 Æ 포함)
불가리아어
이누이트어 (라틴 문자)
상태알 수 없음
인코딩 방식EUC-KR
ISO 2022
UHC
조합형
분류ISO-2022 호환 DBCS
CJK 인코딩
이전 표준N바이트 한글 코드 (KS C 5601-1974)
관련 표준관련 보충: KS X 1002
기타 한글 ISO 2022 DBCS: KPS 9566, GB 12052
기타 CJK ISO 2022 DBCS: JIS X 0208, GB 2312
MIME 형식ks_c_5601-1987
📚 더 읽어볼만한 페이지
  • 한국 산업 규격 정보 산업 부문 - KS X 1002
    KS X 1002는 94×94 문자 집합으로 구성된 대한민국의 문자 코드 표준으로, 라틴 문자, 그리스 문자, 특수 문자, 확장된 현대 한글, 옛한글, 한자 등으로 구성되어 있으며, 유니코드 CJK 통합 한자 블록의 소스로 활용되었으나, 2벌식 자판 배열 기반 설계로 현대 컴퓨팅 환경에서 불편함과 호환성 문제를 가진다.
  • 한국 산업 규격 정보 산업 부문 - KS X 1026-1
    KS X 1026-1은 한글 자모, 한글 자모 확장-A, 한글 자모 확장-B 영역의 문자를 조합형 한글 낱자로 정의하고, 채움 문자의 사용, 겹낱자 및 완성자와의 혼용 금지, 옛한글 낱자의 수정, 유니코드 정규화 시 조합형 한글 낱자 사용, 초·중·종성 순서 정렬 방식 등을 규정하는 한국 산업 규격이다.
  • 한국어 컴퓨팅 - 한글 자판
    한글 자판은 한글 입력 방식의 배열을 의미하며, 두벌식, 세벌식, 타자기 자판, 휴대 전화 자판 등 다양한 종류가 있고, 리듬감, 도깨비불 현상, 오타 수정 가능성 등 다양한 논점을 가지고 있다.
  • 한국어 컴퓨팅 - EUC-KR
  • 문자 집합 - 점자
    점자는 루이 브라이유가 개발한 시각 장애인용 촉각 문자 체계로, 6점 점자를 사용하여 133개 이상의 언어에 적용되었으며, 교육, 정보 접근, 사회 참여에 필수적인 역할을 수행하지만 문해력 저하와 교육의 어려움이라는 과제도 안고 있다.
  • 문자 집합 - ISO/IEC 646
    ISO/IEC 646는 ASCII 기반의 7비트 문자 인코딩 표준으로, 국가별 변형이 존재했으나, 최종 개정판은 ASCII와 호환되도록 정의되었고, 현재는 ITU-T 권고 T.50 IRA가 현행 표준으로 유지되고 있다.

2. 역사

KS X 1001은 이전에 KS C 5601로 알려졌으며, 여러 차례 개정되었다.

* 1974년 9월 27일 - 7비트 한글 코드로 KS C 5601이 제정되었다. 초기에는 한글 자음(초성과 종성의 합집합) 30종을 0x41 - 0x5E, 모음 21종을 0x62 - 0x7C에 분산 배치한 "1볼" 방식의 코드였다.
* 1982년 6월 14일 - KS C 5601이 개정되어 부속서에 "16비트 부호"가 추가되었다. "16비트 부호"는 초성·중성·종성을 각각 5비트로 나타내고, 최상위 비트를 1로 한 코드이다.
* 1987년 3월 1일 - KS C 5601이 다시 개정되어 7비트 한글 코드와 "16비트 부호"는 부속서로 이동되었고, 본문에는 94×94 문자 집합으로서 한글 2350자, 한자 4888자, 기타 986자가 정해졌다.
* 1992년 10월 15일 - KS C 5601이 개정되어 부속서의 "16비트 부호"는 "2바이트 조합형 부호"(조합형)로 변경되었다. 초성·중성·종성을 각각 5비트로 나타내는 점은 동일하지만, 비트 패턴은 완전히 달라졌다.
* 1996년 6월 - 유니코드 2.0.0 제정. 한국의 요구를 수용하는 형태로 11,172자의 모든 현대 한글 문자와 KS X 1001의 모든 중복 문자가 수록되었다.
* 1997년 8월 20일 - 새롭게 정보 부문(X)이 신설됨에 따라 KS C 5601이 KS X 1001로 개정되었다.
* 1998년 12월 31일 - KS X 1001이 개정되어 유로 기호(€)와 등록 상표 마크(®) 2자가 추가되었다.
* 2002년 - KS X 1001:2002, 우편 번호 기호(㉾한국어) (우편(번호)을 나타내는 한글의 두문자를 원 안에 넣은 것)가 추가되었다.

3. 구성

KS X 1001은 94x94 문자 집합으로, 다음과 같이 구성된다.

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

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

유니코드는 왕성 코드 Hangul Filler를 Hangul Compatibility Jamo 블록에 포함하여 왕복 호환성을 제공하지만, 한글을 구성하기 위해 자체 시스템(자체적으로 다르게 사용되는 필러 문자 포함)을 사용한다. KS X 1001 한글 구성 시스템은 유니코드에서 사용되지 않으며, 필러는 단순히 빈 공간으로 렌더링된다. 현대 자모를 사용하는 KS X 1001 구성 시퀀스는 유니코드의 미리 조합된 문자에 매핑될 수 있다. 이것은 일반적으로 통합 한글 코드에서는 수행되지 않는다.

왕복 호환성을 위해, 유니코드는 또한 N바이트 한글 코드 Hangul Filler를 반각 및 전각 양식 블록에 별도로 포함하며, "Halfwidth Hangul Filler"라고 명명되었다.

KS X 1001을 EUC로 부호화한 것을 한국어 EUC (EUC-KR)라고 부르지만, 실제로는 KS X 1001이 다른 인코딩 방식으로 사용되는 경우는 거의 없으므로 (ISO-2022-KR이라는 것도 있지만 거의 사용되지 않는다), 단순히 KS C 5601이라고만 해도 EUC-KR을 의미하는 경우가 많다.

한편 조선민주주의인민공화국에는 KPS 9566이라는 별도의 규격이 존재한다.

3.1. 특수 문자 및 기호 (0x21 ~ 0x2C)

KS X 1001의 특수 문자 영역(0x21 ~ 0x2C)에는 문장 부호, 그림 문자, 괘선 조각, 히라가나, 가타카나, 그리스 문자, 키릴 문자 등 외국 문자가 포함되어 있으며, 개정판마다 특수 문자가 계속 추가되고 있다.

👆
좌우로 밀어서 보기
| 설명
0x21 ~ 0x2C특수 문자(문장 부호, 그림 문자 등), 한글 낱자, 괘선 조각, 외국 문자

3.1.1. 추가된 특수 문자

KS X 1001:1998 버전에서는 ®(등록 상표)와 유로(€) 기호가 추가되었고, KS X 1001:2002 버전에서는 ㉾(우편 번호 줄임표, U+327E)가 추가되었다.

3.2. 한글 (0x30 ~ 0x48)

KS X 1001의 한글 영역(0x30 ~ 0x48)은 자주 쓰이는 한글 2,350자를 가나다 순으로 배열한 완성형 영역이다. 이 영역에 포함되지 않은 글자는 정확하게 인식되지 않는 문제가 발생한다.

KS X 1001은 초성, 중성, 종성의 조합으로 구성된 2,350자의 한글을 포함하고 있다. 하지만 '뢔', '쌰', '쎼', '쓔', '쬬'와 같이 일부 음절은 포함되지 않아 입력 시 문제가 발생할 수 있다.

👆
좌우로 밀어서 보기
0x0123456789ABCDEF
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흩희흰흴흼흽힁히힉힌힐힘힙힛힝

3.2.1. 한글 채움 문자

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

Hangul Filler 문자는 8바이트 Hangul 구성 시퀀스를 도입하고, 해당 시퀀스에서 부재한 요소(일반적으로 빈 종성)를 대신하는 데 사용된다.

유니코드는 왕성 코드 Hangul Filler를 Hangul Compatibility Jamo 블록에 포함하여 왕복 호환성을 제공하지만, 한글을 구성하기 위해 자체 시스템(자체적으로 다르게 사용되는 필러 문자 포함)을 사용한다. KS X 1001 한글 구성 시스템은 유니코드에서 사용되지 않으며, 필러는 단순히 빈 공간으로 렌더링된다. 현대 자모를 사용하는 KS X 1001 구성 시퀀스는 유니코드의 미리 조합된 문자에 매핑될 수 있다. 이것은 일반적으로 통일 한글 코드에서는 수행되지 않는다.

왕복 호환성을 위해, 유니코드는 또한 N바이트 한글 코드 Hangul Filler를 반각 및 전각 양식 블록에 별도로 포함하며, "Halfwidth Hangul Filler"라고 명명되었다.

3.2.2. 완성형 한글 2,350자

KS X 1001은 초성, 중성, 종성의 조합으로 구성된 2,350자의 한글을 포함하고 있다. 하지만 '뢔', '쌰', '쎼', '쓔', '쬬'와 같이 일부 음절은 포함되지 않아 입력 시 문제가 발생할 수 있다. 이는 펩시콜라의 한국 법인이 "페프"(펲한국어) 자가 KS X 1001에 없어 1992년에 표기를 "페프"(펩한국어)로 변경한 사례에서 볼 수 있듯이, 외래어 표기에 어려움을 초래했다.

👆
좌우로 밀어서 보기
0x0123456789ABCDEF
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흩희흰흴흼흽힁히힉힌힐힘힙힛힝

3.3. 사용자 정의 영역 (0x49, 0x7E)

KS X 1001에서 사용자 정의 영역은 0x49에 있는 사용자 정의 영역 A와 0x7E에 있는 사용자 정의 영역 B로 구성된다.

3.4. 한자 (0x4A ~ 0x7D)

KS X 1001의 漢字중국어 영역은 4,888자의 한자를 한글 독음 순서대로 배열한 것이다. 독음이 여러 개인 한자는 중복되어 포함되어 있다. 한국어에서는 원칙적으로 한자는 한 글자에 한 음을 가지지만, 여러 음을 가진 한자도 일부 존재한다. KS X 1001은 이러한 한자를 각 음의 위치에 중복하여 부호화하는 특징을 가진다. 두음 법칙에 따라 음이 달라지는 '노한국어', '이한국어' 등도 다른 음으로 간주하여 중복 부호화하였다. 가장 많이 중복된 한자는 '락한국어'으로, 4곳에 중복 부호화되어 있다. 이러한 방식은 코드에서 문자의 음독을 기계적으로 판정할 수 있다는 장점이 있지만, 글자 모양으로 코드를 유일하게 결정할 수 없다는 문제점도 있다. 유니코드 및 ISO/IEC 10646에서는 CJK 통합 한자에 한자 1자만을 수록하고, 라운드 트립 변환을 위해 나머지 문자는 CJK 호환 한자에 중복 부호화하고 있다.

4. 인코딩 방식

KS X 1001의 주요 인코딩 방식에는 EUC-KR과 ISO-2022-KR이 있다. 이들은 ISO 2022와 호환되며, 일반적으로 EUC 형식으로 사용되어 비 한글, 한글 자모 및 가장 일반적인 한글 음절에 2바이트 코드를 할당한다.

EUC-KR과 ISO-2022-KR은 KS X 1001 코드 포인트를 가진 2350개의 사전 조합된 한글 음절(총 11172개 중)에 대해서만 코드를 할당하고, 나머지 음절은 8바이트 조합 시퀀스를 사용해야 한다. 이 방식은 일부 구현에서 지원되지 않는다.

2004년 현재 모질라 파이어폭스가 지원하는 KS X 1001 기반 인코딩 4개를 포함한 다양한 CJK 인코딩
2004년 현재 모질라 파이어폭스가 지원하는 KS X 1001 기반 인코딩 4개를 포함한 다양한 CJK 인코딩

4.1. EUC-KR

EUC-KR은 KS X 1001을 사용하는 가장 일반적인 인코딩 방식이다. ASCII와 함께 사용되며, 한글 및 기타 문자를 2바이트로 표현한다. 윈도우 환경에서 코드 페이지 949 (통합형 한글 코드, UHC)는 EUC-KR의 확장형이다.

EUC-KR은 KS X 1001 코드 포인트를 가진 2350개의 사전 조합된 한글 음절(총 11172개 중)에 대해서만 코드를 할당하고, 다른 문자에는 8바이트 조합 시퀀스를 사용해야 한다는 단점이 있다. 이는 표준의 일부 구현에서 지원되지 않는다.

Johab 인코딩 (1992년 표준의 부록 3에 규정)과 통합 한글 코드 (UHC, Windows-949라고도 함)는 EUC-KR의 상위 집합으로, 모든 11172개의 한글 음절에 단일 코드를 제공한다. ISO-2022-KR 및 Johab은 거의 사용되지 않는다.

KS X 1001을 EUC로 부호화한 것을 한국어 EUC (EUC-KR)라고 부르지만, 실제로는 KS X 1001이 다른 인코딩 방식으로 사용되는 경우는 거의 없으므로 (ISO-2022-KR이라는 것도 있지만 거의 사용되지 않는다), 단순히 KS C 5601이라고만 해도 EUC-KR을 의미하는 경우가 많다.

4.2. ISO-2022-KR

KS X 1001을 위한 ISO 2022 호환 인코딩은 거의 사용되지 않는다. KS X 1001의 인코딩 방식에는 EUC-KR과 ISO-2022-KR이 있으며, ISO-2022-JP-2도 포함된다. 이들은 KS X 1001 코드 포인트를 가진 2350개의 사전 조합된 한글 음절(총 11172개 중)에 대해서만 코드를 할당하고, 다른 문자에는 8바이트 조합 시퀀스를 사용해야 하는데, 이는 일부 구현에서 지원되지 않는다. Johab 인코딩과 통합 한글 코드(UHC, Windows-949)는 모든 11172개의 한글 음절에 단일 코드를 제공한다.

4.3. 조합형 (Johab)

1992년 KS C 5601 개정판 부속서 3은 2바이트 조합형을 보조 부호계로 규정하면서 기존 상용 조합형을 반영하여 표준화하였다. Johab 인코딩(1992년 표준 부속서 3에 규정)과 통합 한글 코드(UHC, Windows-949)로 알려진 EUC-KR 상위 집합은 현대 한글 11,172자를 모두 표현할 수 있는 단일 코드를 제공한다. ISO-2022-KR 및 Johab은 현재 거의 사용되지 않는다.

5. 단점 및 비판

KS X 1001은 완성형 한글 2,350자만 지원하여 모든 현대 한글을 표현할 수 없다는 비판이 제기되었다. 모질라 파이어폭스 등 일부 프로그램을 제외한 대부분의 프로그램들은 KS X 1001이 현대 한글을 표현할 수 있는 방법이 있음에도 구현하지 않았다. 이로 인해 프로그램마다 한글 처리 방식이 달라져 호환성 문제가 발생하기도 했다.

또한, 필요한 특수 문자가 부족하고, 자판으로 입력 가능한 특수 문자가 과도하게 포함되었다는 비판도 있다. 독음이 여러 개인 한자가 중복되어 처리상의 문제가 발생했으며, 이는 유니코드 호환성 영역에 반영되었다.

6. 같이 보기

* 유니코드
* EUC-KR
* KPS 9566 (조선민주주의인민공화국의 문자 집합)