IT·테크 이야기

한글 코드의 역사

두 바이트 안에서는 어느 쪽도 다 담지 못했고, 밀려난 쪽의 조립 원리는 다음 부호계에 규칙으로 남았어요

  • 읽는 데 약 19분
  • 1443 – 2026
  • 챕터 9개
  • 그림 9장
  • 출처 19건

오래된 문서를 열었더니 글자 대신 「ÇѱÛ」 같은 것이 줄줄이 떠 있어요. 옛 게시판 글에서는 이름이 물음표나 네모로 바뀌어 있고요. 파일이 망가진 건 아니에요. 안에 든 숫자는 그대로예요.

컴퓨터에 저장되는 것은 글자가 아니라 숫자예요. 「한글」이라는 두 글자는 어떤 규격에서 네 개의 바이트이고, 다른 규격에서는 여섯 개의 바이트예요. 그런데 바이트에는 「나는 어느 규격으로 읽어야 한다」는 표시가 붙어 있지 않아요. 저장할 때 쓴 규격과 열 때 쓴 규격이 어긋나면, 같은 숫자가 다른 글자표에서 읽혀 엉뚱한 글자가 나와요. 앞의 네 바이트를 서유럽 글자표로 읽으면 「ÇѱÛ」가 되고, 뒤의 여섯 바이트를 같은 표로 읽으면 「한글」가 돼요.

그러니까 깨진 글자는 고장이 아니라 자국이에요. 그 자리에 한때 다른 규격이 있었다는 자국이요. 한글을 숫자로 바꾸는 방식을 두고 여러 규격이 겨뤘고, 그중 몇은 사라졌어요. 그 다툼이 무엇을 걸고 벌어졌는지 보려면, 한글 한 글자를 두 바이트에 어떻게 밀어 넣을지가 아직 정해지지 않았던 시절로 가야 해요.

한눈에 보는 연표

글자를 만든 시절

  1. 1443 훈민정음 창제. 해례의 합자해가 낱자를 합쳐 음절로 적는 법을 규정

국내 표준

  1. 1974 한글 낱자를 담은 첫 국가 표준 부호계 제정
  2. 1982 두 바이트 조합형이 정부 규격이 되다
  3. 1987 3월, 완성형 2,350자가 국가 표준 본문으로 교체
  4. 1990 6월, 교육용 컴퓨터 규격을 두고 지면에서 벌어진 공방
  5. 1991 보조 부호계로 4,280자까지 확장
  6. 1992 10월, 조합형이 부속서로 국가 표준에 수용

국제 부호계

  1. 1995 12월, 세계 부호계를 국가 표준으로 삼는 규격 고시
  2. 1996 7월, 세계 부호계 2.0판이 한글 자리를 통째로 옮기다

지금

  1. 2009 5.2판, 옛 한글을 적는 조합용 자모가 늘어나다
  2. 2026 웹 조사에서 UTF-8 99.0%

한글은 몇 글자일까 — 네 가지 다른 답

이 이야기에서 가장 자주 어긋나는 자리는 연도가 아니라 숫자의 뜻이에요. 「한글은 몇 글자냐」는 말이 나올 때마다, 무엇을 센 숫자인지 먼저 갈라야 해요. 네 가지가 다 다르거든요.

첫째는 자모의 수예요. 오늘 학교에서 배우는 낱자는 스물넷이고, 훈민정음이 만든 것은 스물여덟이었어요. 오늘 세계 부호계가 조합에 쓰라고 마련해 둔 자모는 357개고요. 세는 대상이 조금씩 달라서 이렇게 벌어져요.

둘째는 조합할 수 있는 현대 음절의 수예요. 초성 열아홉 가지, 중성 스물한 가지, 받침은 없는 경우까지 넣어 스물여덟 가지. 곱하면 11,172예요. 「가」부터 「힣」까지, 뜻이 있든 없든 규칙대로 만들어지는 네모 칸이 그만큼이라는 뜻이에요. 이 안에는 「뷁」처럼 평생 한 번 쓸까 말까 한 칸도 들어 있어요.

셋째는 어떤 표준이 실제로 담은 음절의 수예요. 이 숫자는 표준마다 달라요. 어떤 표준은 2,350자를 담았고, 어떤 표준은 11,172자를 다 담았어요. 넷째는 사람들이 실제로 자주 쓰는 음절의 수고요. 신문 한 부, 서류 한 장에 나오는 음절은 생각보다 적어요. 셋째와 넷째의 거리가 이 이야기의 무대예요. 자주 쓰는 것만 담으면 충분하다는 판단과, 적을 수 없는 글자가 남으면 안 된다는 판단이 여기서 갈렸거든요.

한글은 낱자를 만들고 그것을 합쳐 음절을 적도록 설계된 글자예요. 훈민정음 해례에는 초성·중성·종성 글자를 왼쪽에서 오른쪽으로, 위에서 아래로 써서 음절 단위로 적으라는 규정이 따로 한 편 들어 있어요. 그런데 컴퓨터는 이 설계를 두 가지 방식으로 받아들일 수 있었어요. 완성된 음절마다 번호를 붙이거나, 자모마다 번호를 붙이고 조합하거나. 두 방식은 다른 것을 잘하고 다른 것을 못했어요. 그리고 둘 중 어느 쪽을 국가 표준의 본문에 앉힐지가 곧 정해질 참이었고요.

여기서 기억할 것 이 다툼은 한글의 우열이 아니라 숫자의 정의에서 시작돼요. 무엇을 센 숫자인지 갈라 두지 않으면 뒤의 논쟁이 통째로 흐려져요.

두 바이트에 한글을 담는 두 가지 답

먼저 음절마다 번호를 주는 방식이 있어요. 쓸 음절을 미리 골라 목록을 만들고 순서대로 번호를 매겨요. 「가」에 한 번호, 「각」에 다음 번호. 흔히 완성형이라고 불러요.

이 방식에는 좋은 점이 넷 있었어요. 하나, 두 바이트가 당시 국제 통신 규약이 쓰던 자리 배치에 그대로 들어맞았어요. 둘, 그 배치에서는 두 바이트가 모두 영문자 영역 바깥의 값이라, 바이트를 훑어 영문자를 찾는 옛 프로그램이 글자 속을 잘못 건드리지 않았어요. 셋, 목록을 가나다 순으로 만들어 두면 코드값 순서가 곧 가나다 순서라 정렬이 공짜였어요. 넷, 같은 부호계에 한자를 함께 담을 수 있었고요. 나쁜 점은 하나였어요. 목록에 없는 음절에는 번호가 없어요. 우회로가 아주 없지는 않았는데, 그건 뒤에서 볼게요.

다른 하나는 자모마다 번호를 주는 방식이에요. 음절이 아니라 초성·중성·종성 각각에 번호를 주고 셋을 붙여 음절의 코드값을 만들어요. 흔히 조합형이라고 부르는 방식은 열여섯 비트를 맨 앞 한 비트와 다섯 비트씩 세 토막으로 나눠 썼어요. 좋은 점은 셋이었어요. 조합할 수 있는 현대 음절이 모두 표현되고, 음절에서 자모를 도로 꺼낼 수 있어 검색이나 언어 처리에 쓰기 좋고, 자모를 늘리면 옛 글자로 확장할 여지가 있었어요.

나쁜 점도 있었어요. 이 방식으로 적으면 두 바이트 가운데 하나가 영문자 영역 값이 되는 음절이 생겨요. 예를 들어 「게」의 뒷바이트는 대문자 A와 같은 값이에요. 파일 속에서 A를 찾던 프로그램이 「게」의 몸통을 A로 잘못 집는 셈이죠. 조합할 수 있는 현대 음절 11,172자 가운데 3,724자가 이런 바이트를 품어요.

그런데 여기서 이 이야기의 균형점이 나와요. 당시 국제 통신 규약이 두 바이트 한 벌에 쓰던 자리는 94 곱하기 94, 곧 8,836이었어요. 자리가 8,836인데 현대 음절은 11,172예요. 자리보다 글자가 많아요. 그러니 그 배치를 지키려면 음절을 골라 담을 수밖에 없었고, 전부 담으려면 배치를 깨야 했어요. 어느 쪽이 옳으냐 이전에, 두 바이트 한 벌 안에서는 답이 없는 문제였어요.

여기서 기억할 것 두 방식은 다른 것을 잘하고 다른 것을 못했어요. 그리고 두 바이트라는 그릇 자체가 현대 음절 전체보다 작았어요.

1987년, 국가 표준이 갈아치워진 날

여기서 「최초」라는 말을 조심해야 해요. 무엇의 최초인지에 따라 답이 다섯 갈래로 갈리거든요.

한글 낱자를 담은 첫 국가 표준은 1974년 판이에요. 음절을 자모의 조합으로 나타낸 첫 국가 표준은 1982년 판이고요. 그러니까 조합형은 한동안 정부 규격이었어요. 「조합형은 표준이 된 적이 없다」는 흔한 서술은 이 대목에서 어긋나요. 음절마다 번호를 준 첫 국가 표준이 1987년 판이에요. 1987년에 벌어진 일은 새 표준의 등장이 아니라 표준의 교체였어요. 남은 두 축은 뒤에 나와요. 현대 음절 전체를 담은 첫 국가 표준은 1992년 판이고, 세계 부호계가 현대 음절 전체를 담은 첫 판은 1996년의 2.0판이에요.

1987년 3월, 정부는 여덟 비트 두 바이트 완성형 한글·한자 부호계를 새 표준으로 정했어요. 한국 표준 연구소가 1년 남짓 주관한 연구가 근거였어요. 배정표를 보면 한글 2,350자, 한자 4,888자, 특수 문자와 낱자와 로마 문자 따위를 합쳐 모두 8,224자예요. 여기에 사용자가 스스로 채우도록 한글 95자 자리를 남겨 뒀고요. 이 표준은 곧 행정 전산망의 표준 부호로 채택됐어요.

왜 이쪽을 골랐을까요. 표준을 정한 쪽의 셈은 앞 장에서 본 그대로였어요. 국제 통신 규약의 자리 배치에 맞고, 바이트가 영문자 영역을 침범하지 않고, 코드값 순서가 가나다 순서와 같고, 한자를 함께 담을 수 있어요. 여기에 하나가 더 있었어요. 실무에서 자주 쓰는 글자는 다 들어 있다는 판단이요. 뒷날 표준을 옹호한 쪽은 이렇게 답했어요. 「2,350자로서 99% 우리 국어의 표현이 가능하고 사용 불가능한 그 1%를 위하여 사용자 영역 95자를 이용하면 충분하다.」

밀려난 쪽의 셈도 남아 있어요. 현대 음절이 다 표현되고, 음절을 자모로 도로 쪼갤 수 있고, 옛 글자로 늘릴 여지가 있다는 것. 두 셈은 서로 다른 위험을 크게 봤어요. 한쪽은 호환이 깨지는 위험을, 다른 쪽은 적을 수 없는 글자가 남는 위험을요.

여기서 기억할 것 「최초」를 다섯 축으로 갈라야 1987년에 일어난 일이 보여요. 새 표준이 생긴 게 아니라 표준이 바뀐 해였어요.

2,350자가 감당하지 못한 것들

표준이 정해진 직후부터 목록이 만들어졌어요. 국어학계에서 국어 정서법에 필요한데 빠진 글자 220자를 짚었고, 뒤에 일곱 자가 더 보태졌어요. 목록은 갈래별로 나뉘어 있었어요. 단일 형태소 표기, 한자음, 준말, 축약형, 방언, 그리고 발음 표기.

막힌 자리가 구체적이었어요. 맞춤법을 가르치면서 「꺾다」의 잘못된 표기를 보여 주려 해도 그 잘못된 글자를 화면에 띄울 수 없었어요. 표준 발음법을 가르치면서 「옷」이 어떻게 소리 나는지 적으려 해도 그 글자가 없었고요. 방언 자료집에 나오는 글자들도 여럿 빠져 있었어요. 표준 밖 글자는 학술 연구실만의 문제가 아니었어요. 국어 교육과 사전 편찬처럼, 표준어 규범 자체를 다루는 자리가 먼저 걸렸어요.

답이 하나 준비돼 있긴 했어요. 사용자가 스스로 채우는 자리 95개요. 그런데 여기에 역설이 있어요. 어떤 사람이 그 자리 첫 칸에 「닁」을 넣고, 다른 사람이 같은 칸에 다른 글자를 넣으면, 두 사람의 파일은 서로 읽히지 않아요. 부호계의 값어치는 남들도 같은 표를 쓸 때 생기는데, 각자 채우라는 답은 바로 그 값어치를 깎아요. 당시에도 그 지적이 그대로 나왔어요.

또 하나, 표준 본문에는 우회로가 있었어요. 한글 채움 문자를 앞에 두고 초성·중성·종성 낱자 부호를 이어 붙이는 방식이에요. 이렇게 적으면 음절 하나가 여덟 바이트가 돼요. 채움 문자에 두 바이트, 자모 셋에 각각 두 바이트씩. 재미있는 건 이거예요. 목록 밖 글자를 적으려면 결국 자모를 늘어놓아야 했어요. 조합의 원리가 완성형 안에 비상구로 이미 들어와 있었던 셈이죠. 다만 길이가 여덟 배가 되고 이 방식을 다룰 줄 아는 프로그램이 드물어, 실무에서 널리 쓰이지는 않았어요.

여기서 기억할 것 빠진 글자는 목록의 길이 문제가 아니라 교환의 문제였어요. 그리고 비상구는 이미 조합의 모양을 하고 있었어요.

「똠방각하」는 정말 못 썼을까

이 이야기에서 가장 널리 도는 장면이 있어요. 1990년에 방송된 드라마의 제목에 표준 밖 글자가 들어 있어서 제목조차 쓸 수 없었다는 이야기요. 뒷날 신문 기사들이 음료 이름 일화까지 함께 실으면서 굳었어요. 확인되는 것부터 갈라 볼게요. 그 드라마가 1990년 4월 16일부터 6월 12일까지 방송된 것과, 그 글자가 국가 표준 본문 집합 밖이라는 것은 확인돼요. 방송사나 신문사 전산 시스템에서 실제로 무슨 일이 있었는지를 보여 주는 당대 기록은 찾지 못했어요.

그다음이 더 중요해요. 원래의 비판이 무엇이었는지요. 1987년부터 1989년 사이 학계가 든 근거는 드라마 제목이 아니었어요. 맞춤법 교육, 표준 발음 표기, 방언 자료, 사전 편찬이었어요. 여기에 지금은 거의 잊힌 근거가 하나 더 있었어요. 음절을 통째로 번호로 만들면 나중에 자모로 도로 쪼개는 데 따로 프로그램이 필요하다는 지적이요. 문장 인식이나 자동 번역을 내다본 말이었어요. 널리 도는 문장 하나가, 실제 주장이 서 있던 자리보다 훨씬 좁아요.

그리고 「찦차를 타고 온 펲시맨과 쑛다리 똠방각하」라는 문장은 사건의 기록이 아니에요. 밀려난 쪽이 표준 밖 글자를 한 줄에 몰아 보여 주려고 만든 예문이에요. 이 예문이 오래 살아남은 이유는 분명해요. 한 줄만 읽으면 문제가 즉시 보이거든요.

표준을 옹호한 쪽의 반박도 들어 볼 만해요. 「완성형 제정 이후 지금까지 업무에 적용해 보았지만 전연 불편이 없었다」는 답이 남아 있어요. 행정과 일반 업무와 자연 과학 분야라면 그 말이 맞는다고, 반대편 필자조차 같은 글에서 인정했어요. 통신 쪽 근거도 있었어요. 국제 통신 선로의 규약 때문에 조합형으로는 통신이 어렵다는 것이었죠.

그 반박도 다시 재 볼 수 있어요. 통신 논거에는 실체가 있었어요. 앞에서 본 대로 조합형은 현대 음절 3,724자에서 영문자 영역 값의 바이트를 품고, 국제 규약의 자리 배치에도 맞지 않았으니까요. 다만 1989년 7월에는 조합형을 실은 휴대용 컴퓨터로 시드니에서 서울까지 국제 전화선 통신에 성공한 시연도 있었어요. 그리고 「사용자 정의 영역으로 메우면 된다」는 답은 앞 장에서 본 대로 교환을 깨뜨려요. 어느 쪽 근거도 통째로 무너지지 않고, 어느 쪽 근거도 통째로 서지 않아요.

여기서 기억할 것 널리 도는 문장을 재기 전에 원래 주장부터 확인해야 해요. 대중적으로 남은 장면은 실제 논쟁의 한 조각이었어요.

메우려다 어긋난 자리들

빠진 글자를 메우려는 시도가 이어졌어요. 1991년에 보조 부호계가 제정되면서 본문 2,350자에 1,930자가 더해져 4,280자가 됐어요. 그래도 부족하니 2,376자를 더 보태 6,656자짜리 집합을 만들어 국제 기구에 보고했어요. 그런데 이 집합으로도 현대 음절 4,516자가 여전히 빠졌어요. 국제 무대에서도 국내에서도 이 확장안은 자리를 잡지 못했어요.

한편 시장에서는 다른 방식으로 메웠어요. 완성형 목록을 아예 11,172자까지 늘려 버린 확장 배치가 나왔고, 개인용 컴퓨터에서 널리 쓰이게 됐어요. 표준 본문 밖의 8,822자를 남는 자리에 밀어 넣는 방식이었어요.

여기서 값을 치렀어요. 첫째, 새로 밀어 넣은 자리 때문에 코드값 순서와 가나다 순서가 어긋났어요. 이 배치에서는 「똠」이 「가」보다 앞서요. 정렬이 공짜라던 이점이 여기서 사라져요. 둘째, 늘어난 배치에서는 두 바이트 가운데 하나가 영문자 영역 값이 되는 음절이 3,606자 생겼어요. 조합형의 3,724자와 같은 종류의 문제예요. 본문 2,350자만 쓸 때는 그런 음절이 하나도 없었는데 말이죠. 자리를 늘리자 피했던 문제가 되돌아왔어요. 두 바이트라는 그릇이 원래 작았다는 사실이 이렇게 드러나요.

제도 쪽에서도 움직임이 있었어요. 1992년 10월, 조합형이 국가 표준으로 수용됐어요. 문자 부호 연구 분과 위원회를 비롯한 각급 위원회를 열 차례 남짓 연 끝에, 그달 6일 최종 공청회를 거친 결정이었어요. 그런데 여기에 단서가 붙어요. 조합형이 들어간 자리는 부속서였고, 정보 교환에 쓰이는 본문의 94×94 집합 정의는 바뀌지 않았어요. 1993년 12월에 한글을 인터넷 편지에 싣는 방식을 정리한 국제 규약 문서가 이 점을 못 박아 뒀어요. 1987년판과 1989년판과 1992년판의 그 정의가 같다고요.

그러니까 밖으로 나가는 통로에는 여전히 본문이 놓여 있었어요. 조합형은 국가 표준 안에 이름을 올렸지만, 문서와 편지가 오가는 길에서는 자리를 얻지 못했어요.

여기서 기억할 것 메우는 방식마다 다른 값을 치렀어요. 그리고 표준에 이름을 올리는 것과 실제 통로를 차지하는 것은 다른 일이에요.

이긴 규격도 한 번 크게 옮겼어요

이 이야기에는 세 번째 규격이 있어요. 세상의 글자를 한 벌에 담겠다는 세계 부호계요. 1991년 10월에 첫 판이 나왔어요.

출발점의 전제가 지금 보면 눈에 띄어요. 한 문자에 열여섯 비트를 고정으로 주고 6만 자 남짓을 담는다는 설계였어요. 만든 기구의 원래 목적문에 그렇게 적혀 있었고, 지금 그 문장은 「열여섯 비트를 넘어섰다」로 고쳐져 있어요. 초기 검토에 참여한 사람의 회고에는 「흔히 쓰는 현대 문자들의 상한을 세어 보니 열여섯 비트에 넉넉히 들어왔다」는 대목이 있어요. 자주 쓰는 것만 담으면 된다는 전제를 두 규격이 함께 세웠던 거예요. 그리고 둘 다 그 전제를 뒤에 물렀어요.

1993년에 나온 1.1판의 문자 목록을 보면 흥미로운 게 있어요. 한글 음절 자리에 6,656자가 들어 있어요. 앞 장에서 나온 그 숫자예요. 국내에서 국제 기구에 보고한 확장 완성형 집합이 그대로 세계 부호계 안에 들어가 있었던 거죠. 앞머리 배열도 국내 표준 본문을 따르고 있고요. 그러니까 세계 부호계가 처음 받아들인 한글은 국내에서 이겼던 쪽의 집합이었어요.

그리고 1996년 7월, 2.0판이 그 자리를 통째로 없앴어요. 6,656자를 지우고 현대 음절 11,172자를 새 자리에 다시 깔았어요. 그 판의 문자 데이터 파일 변경 이력에 한 줄로 적혀 있어요. 「옛 한글 음절들을 삭제했고, 새 문자로 가는 대응표는 따로 두었다.」 이미 부호를 준 글자 수천 개를 다른 번호로 옮긴 일이에요. 부호계에서 이보다 큰 사고는 드물어요.

그런데 그다음이 이 대목의 균형이에요. 세계 부호계에는 지금 안정성 정책이라는 문서가 있어요. 첫 줄이 이래요. 「한번 부호를 준 문자는 옮기거나 없애지 않는다.」 그리고 이 정책이 적용되는 판이 2.0판부터예요. 문자 이름을 바꾸지 않는다는 정책도 같은 판부터고요. 크게 옮긴 바로 그 판이, 다시는 옮기지 않겠다는 약속이 시작된 판이에요. 진 규격에만 흠이 있었던 게 아니고, 이긴 규격도 흠을 규칙으로 바꾸고 나서야 지금의 자리에 섰어요.

여기서 기억할 것 이긴 쪽도 이미 준 자리를 통째로 옮겼어요. 다른 점은 그 뒤에 「다시는 옮기지 않는다」는 규칙을 문서로 남겼다는 거예요.

밀려난 쪽의 원리는 어디에 남았을까

그 새 자리에 무엇이 깔렸는지가 이 이야기의 마지막 반전이에요. 오늘 세계 부호계 표준 본문을 열면, 현대 한글 음절 11,172자를 담은 그 구간을 부르는 이름이 나와요. 「조합 집합(the Johab set)」이에요. 표준은 그 구간을 어디서 가져왔는지도 적어 뒀어요. 1992년 국내 표준에서, 완전한 조합 집합으로요.

이름만 그런 게 아니에요. 표준 본문에는 상수 목록이 있어요. 음절 구간의 시작점, 초성·중성·종성 각 구간의 시작점, 그리고 초성 열아홉, 중성 스물하나, 종성 스물여덟. 음절 번호에서 시작점을 빼고 나누고 나머지를 구하면 초성·중성·종성이 나오고, 거꾸로 자모에서 계산하면 음절 번호가 나와요. 표준은 이 계산을 규범으로 못 박고, 음절 하나하나의 분해를 표로 적지 않아요. 11,172자가 표에 적힌 목록이 아니라 자모에서 유도되는 값이라는 뜻이에요.

조합에 쓰는 자모도 따로 자리를 갖고 있어요. 1.1판에 240자가 있었고, 2009년의 5.2판에서 옛 한글을 적을 자모가 더해져 지금은 357자예요. 표준은 이렇게 적어요. 음절 부호는 모두 자모의 나열로 바꿔 쓸 수 있지만 그 반대는 성립하지 않는다고요. 조합용 자모로만 적을 수 있는 옛 한글 음절이 수천 가지이기 때문이에요. 근대 맞춤법이 현대 표기에서 뺀 자모가 들어간 음절들이죠.

그렇다고 조합의 원리만 남은 건 아니에요. 완성된 음절마다 번호를 준 자리가 함께 있고, 그 배열은 가나다 순이에요. 표준은 「이진 비교만으로 대한민국이 쓰는 정렬 순서가 나온다」고 적어요. 확장 완성형에서 깨졌던 그 이점이 여기서는 살아 있어요. 두 방식이 한 부호계 안에 나란히 들어간 셈이에요. 국내에서도 1995년 12월에 이 부호계를 국가 표준으로 삼는 규격이 고시됐어요. 국제 표준화 기구 쪽 규격을 따른 것이어서, 그때 이미 자모 240자와 완성 음절 11,172자가 함께 들어 있었고요.

한 가지 더 눈에 띄는 대목이 있어요. 표준은 음절의 대표 글자꼴을 자모에서 만드는 방법까지 적어 뒀어요. 중성이 세로선 계열이면 앞의 자음을 왼쪽에, 가로선 계열이면 위에, 둘이 섞인 계열이면 가로선 위이자 세로선 왼쪽에 놓고, 종성이 있으면 그 묶음 아래 가운데에 놓아요. 훈민정음 해례의 합자해가 초성·중성·종성 글자를 왼쪽에서 오른쪽으로, 위에서 아래로 써서 음절 단위로 적으라고 규정한 것과 하는 일이 같아요. 조립을 전제로 설계된 글자였으니, 조립을 규칙으로 적어 둔 부호계와 맞물린 거예요.

여기서 기억할 것 밀려난 쪽의 규격은 사라졌지만 그 원리는 계산 규칙이 됐어요. 다만 이긴 쪽의 이점도 같은 부호계 안에 함께 들어갔어요.

지금 어디를 보면 될까

오늘 웹에서 부호계 사용을 조사하는 통계 페이지는 UTF-8을 99.0%로 표시해요. 2026년 9월 6일에 찍힌 값이고, 옛 국내 부호계는 0.1% 아래 목록에 들어 있어요. 날마다 갱신되는 조사라 다음에 열면 값이 조금 다를 거예요. 방향은 분명해요. 이 다툼의 무대였던 부호계들은 지금 거의 자리를 비웠어요.

그래도 볼 곳은 남아 있어요. 첫째는 옛 자료예요. 옛 부호계로 저장된 문서와 데이터베이스는 아직 곳곳에 있어요. 그 파일을 어느 규격으로 읽어야 하는지를 함께 적어 두는 일, 곧 메타데이터가 있느냐 없느냐가 그 자료의 수명을 가릅니다. 이 이야기 첫머리의 깨진 글자가 여기서 다시 나와요.

둘째는 한번 준 자리는 옮기지 않는다는 규칙의 값이에요. 그 규칙 덕분에 오늘의 부호는 앞으로도 같은 글자를 가리켜요. 대신 잘못 놓인 자리도 그대로 남아요. 앞 판에서 정해진 것을 뒤 판에서 되돌릴 수 없다는 뜻이니까요. 이 맞바꿈을 어떻게 볼지는 아직 논쟁이 이어지는 대목이에요.

셋째는 옛 한글이 실제로 다뤄지는 방식이에요. 옛 글자는 조합용 자모를 늘어놓는 방법으로만 적을 수 있어요. 그런데 기계가 글자를 가지런히 정리하는 규칙 안에는, 자모를 완성된 음절 부호로 도로 합치는 단계가 들어 있어요. 현대 음절이 되는 조합은 합쳐지고 그렇지 않은 조합은 자모로 남죠. 고문헌 전산화가 늘어날수록 이 경계에서 손이 자주 갈 거예요.

1987년에 정해진 목록은 사라졌고, 1992년에 부속서에 이름을 올린 조합형도 사라졌어요. 남은 것은 어느 쪽이 옳았느냐에 대한 답이 아니라, 두 바이트 안에서는 답이 없었다는 사실이에요. 그릇이 커지고 나서야 두 방식이 한자리에 들어갔어요. 지금 화면에서 한 글자를 지우면 네모 칸이 통째로 사라지죠. 그 칸 안쪽에서는, 자모를 조합하는 셈이 아직 돌아가고 있어요.

여기서 기억할 것 예언이 아니라 관전법이에요. 옛 자료의 표시, 되돌릴 수 없다는 규칙의 값, 옛 한글을 다루는 방식 — 이 셋이 다음 장면이 열릴 자리예요.

흔한 오해

오해

조합형은 국가 표준이 된 적이 없다.

사실

두 번 있었어요. 1982년 판에서 두 바이트 조합형이 정부 규격이었고, 1987년에 완성형이 그 자리를 대신했어요. 그리고 1992년 10월에 조합형이 다시 국가 표준으로 수용됐고요. 다만 이때 들어간 자리는 부속서였고, 정보 교환에 쓰이는 본문의 94×94 집합 정의는 바뀌지 않았어요. 1993년 국제 규약 문서가 1987년판·1989년판·1992년판의 그 정의가 같다고 못 박고 있어요.

오해

완성형이 표준이 된 것은 잘못된 선택이었다.

사실

한쪽 손을 들 수 있는 자리가 아니에요. 표준을 정한 쪽에는 근거가 있었어요. 국제 통신 규약의 자리 배치에 맞고, 두 바이트가 영문자 영역을 침범하지 않고, 코드값 순서가 가나다 순서와 같아 정렬이 공짜이고, 한자를 함께 담을 수 있었어요. 밀려난 쪽에도 근거가 있었고요. 현대 음절이 다 표현되고, 음절을 자모로 도로 쪼갤 수 있고, 옛 글자로 늘릴 여지가 있었죠. 그리고 두 바이트 한 벌에 쓰던 자리는 8,836으로 현대 음절 11,172보다 적어서, 어느 배치도 두 바이트 안에서 전부를 담지는 못했어요.

오해

세계 부호계는 처음부터 한글 11,172자를 다 담았다.

사실

1.1판이 담은 한글 음절은 6,656자였어요. 국내에서 국제 기구에 보고한 확장 집합과 같은 크기이고, 그것으로도 현대 음절 4,516자가 빠져 있었어요. 1996년 7월의 2.0판에서 그 자리를 통째로 없애고 11,172자를 새로 깔았고요. 그 판의 문자 데이터 파일 변경 이력에 「옛 한글 음절들을 삭제했다」고 적혀 있어요. 그리고 「한번 부호를 준 문자는 옮기거나 없애지 않는다」는 정책이 적용되는 판이 바로 그 2.0판부터예요.

오해

완성형에서는 목록에 없는 글자를 적을 방법이 아예 없었다.

사실

우회로가 하나 있었어요. 한글 채움 문자를 앞에 두고 초성·중성·종성 낱자 부호를 이어 붙이는 방식이에요. 이렇게 적으면 음절 하나가 여덟 바이트가 돼요. 목록 밖 글자를 적으려면 결국 자모를 늘어놓는 수밖에 없었던 셈이죠. 다만 길이가 여덟 배가 되고 이 방식을 다룰 줄 아는 프로그램이 드물어서, 실무에서 널리 쓰이지는 않았어요.

그래서 한마디로

한글을 숫자로 바꾸는 방식을 두고 두 규격이 겨뤘어요. 음절마다 번호를 주는 쪽은 통신 규약의 자리 배치에 맞고 정렬이 공짜였지만 목록 밖 글자를 적을 수 없었고, 자모마다 번호를 주는 쪽은 현대 음절을 다 적을 수 있었지만 바이트가 영문자 영역을 침범했어요. 1982년에 정부 규격이던 조합형은 1987년에 완성형으로 교체됐고, 1992년에 부속서로 돌아왔지만 정보 교환 본문은 그대로였어요. 두 바이트 한 벌에 쓰던 자리가 8,836으로 현대 음절 11,172보다 적었으니, 어느 배치도 그 그릇 안에서는 전부를 담지 못했어요. 결국 두 규격 모두 세계 부호계에 자리를 내줬는데, 그 부호계는 한글 음절 11,172자 구간을 「조합 집합」이라 부르고 음절 부호를 자모에서 계산으로 유도해요. 밀려난 쪽의 조립 원리가 규칙으로 남은 셈이고, 가나다 순 배열이라는 이긴 쪽의 이점도 같은 자리에 함께 들어갔어요.

참고 자료

본문의 연도와 숫자는 아래 자료를 근거로 씁니다. 틀린 곳을 찾으시면 알려주세요.

  1. The Unicode Standard, Version 17.0.0 — Core Specification, Chapter 3 §3.12 Conjoining Jamo Behavior Unicode Consortium 음절 부호를 자모에서 산술로 유도하는 규범 규칙과 상수(초성 19, 중성 21, 종성 28, 음절 11,172)를 여기서 확인했어요
  2. The Unicode Standard, Version 17.0.0 — Core Specification, Chapter 18 §18.6 Hangul Unicode Consortium 「조합 집합(the Johab set)」이라는 이름, 1992년 국내 표준에서 가져왔다는 서술, 이진 비교로 정렬 순서가 나온다는 서술, 대표 글자꼴을 자모 배치로 만드는 규칙
  3. The Unicode Standard, Version 17.0.0 — Appendix C, Relationship to ISO/IEC 10646 Unicode Consortium 2.0판이 국제 표준화 기구 쪽 개정판 일곱 건을 함께 담았고 그중 다섯 번째가 한글 음절에 관한 것이라는 대목
  4. Unicode Character Encoding Stability Policies Unicode Consortium 「한번 부호를 준 문자는 옮기거나 없애지 않는다」와 그 적용 판이 2.0판부터라는 표시. 갱신되는 페이지라 2026년 9월 6일에 확인했어요
  5. UnicodeData-1.1.5.txt (세계 부호계 1.1판 문자 데이터 파일) Unicode Consortium 1.1판의 한글 음절 6,656자와 조합용 자모 240자를 파일에서 직접 셌어요
  6. UnicodeData-2.0.14.txt · ReadMe-2.0.14.txt (세계 부호계 2.0판 문자 데이터 파일) Unicode Consortium 변경 이력의 「Removed old Hangul Syllables」 문장, 옛 구간에 한글이 남아 있지 않다는 것, 새 구간의 처음과 끝
  7. DerivedAge.txt · HangulSyllableType.txt (세계 부호계 17.0.0판 문자 데이터베이스) Unicode Consortium 음절 구간이 2.0판, 옛 한글용 자모 확장이 5.2판이라는 것과 오늘의 조합용 자모 357자(초성 125·중성 95·종성 137)
  8. Unicode 판별 발행일 Unicode Consortium 1.0판 1991년 10월, 1.1판 1993년 6월, 2.0판 1996년 7월
  9. Early Years of Unicode · Summary Narrative Unicode Consortium 「6만 자 남짓을 위한 고정 폭 열여섯 비트 부호계」라는 원래 목적문과 그것이 고쳐진 사정, 초기 검토의 회고
  10. CP949.TXT — 확장 완성형 대 유니코드 대조표 Microsoft / Unicode Consortium 공개 매핑 자료 표에 찍힌 판 표시는 Table version 2.01. 확장 배치가 한글 11,172자를 담고 그중 8,822자가 본문 밖이라는 것, 영문자 영역 값 바이트를 품은 음절 3,606자, 코드값 순서와 가나다 순서가 어긋난다는 것을 이 표로 확인했어요
  11. 김충회, 「현행 KS 완성형 한글 코드의 문제점」, 『국어생활』 1989년 가을호 국어연구소 (지금의 국립국어원) 1987년 3월 제정 경위와 배정표(한글 2,350·한자 4,888·사용자 자리 95), 1982년판이 두 바이트 조합형이었다는 서술, 빠진 글자 220자 목록, 그리고 표준을 옹호한 쪽의 답변이 함께 실려 있어요. 필자는 밀려난 쪽 편에 서서 쓴 글입니다
  12. 이기성, 「전자공학에서 본 컴퓨터와 한글」, 『새국어생활』 제6권 제2호(1996년 여름) 국립국어연구원 (지금의 국립국어원) 보조 부호계로 4,280자, 국제 기구 보고 집합 6,656자, 그것으로도 빠진 4,516자, 완성형 본문이 담지 못한 8,822자, 1995년 12월 고시, 1989년 국제 통신 시연, 1990년 6월 지면 공방. 필자는 밀려난 쪽 편에 서서 쓴 글입니다
  13. RFC 1557, Korean Character Encoding for Internet Messages U. Choi, K. Chon, H. Park / Internet Engineering Task Force, 1993년 12월 1987년판·1989년판·1992년판의 94×94 정의가 같다고 못 박은 문장, 그리고 이 방식이 일곱 비트 형식을 전제로 한다는 문장
  14. [100대 사건_030] 한글코드 2바이트 조합형 추가 <1992년 10월> 전자신문 (2012년 9월 17일) 각급 위원회를 열 차례 남짓 연 뒤 그달 6일 최종 공청회를 거쳐 조합형을 수용했다는 경위
  15. 「한글 호환 못하고 '똠·펲·찦'자는 출력안돼… 유니코드 이후 비로소 해결」 문화일보 (2022년 1월 10일) 오늘 널리 도는 서술이 어떤 모양인지 보여 주는 자료로만 썼어요. 이 기사에 실린 일화의 당대 기록은 이번 조사에서 찾지 못했습니다
  16. ISO/IEC 10646-1:1993/Amd 5:1998 — Hangul syllables International Organization for Standardization (온라인 목록) 제목과 발행 연도만 목록에서 확인했어요. 세계 부호계 쪽은 이 내용을 2.0판에 담았다고 적어, 두 해가 어긋납니다
  17. 훈민정음 — 한국민족문화대백과사전 한국학중앙연구원 합자해가 초성·중성·종성 글자를 좌에서 우로, 위에서 아래로 써서 음절 단위로 적을 것을 규정한다는 서술
  18. Usage Statistics of Character Encodings for Websites W3Techs / Q-Success 페이지가 스스로 「W3Techs.com, 6 September 2026」이라 찍고 UTF-8 99.0%를 표시했어요. 날마다 갱신되는 주소입니다
  19. KS C — KS X 견줌 표 (정보 처리 분야 국내 표준 번호 대조) 부산대학교 연구실 자료 1974년 제정과 그 뒤 개정 이력, 그리고 1997년의 표준 번호 개편. 서사 배경과 번호 대조에만 썼어요
제작 2026-09-06 갱신 2026-09-06 검증 2026-09-06