한글 자음 모음 분리기 완벽 가이드
한글은 자음(자모)과 모음(모음)이 결합되어 하나의 음절(글자)을 이루는 독특한 구조를 가집니다. 유니코드에서 완성형 한글 음절은 U+AC00(가)부터 U+D7A3(힣)까지 11,172자가 연속으로 배치되어 있습니다. 이 도구는 각 음절을 초성(첫소리 자음)·중성(모음)·종성(끝소리 자음, 받침)으로 분해하여 표시하고, 초성만 추출하는 기능을 제공합니다.
한글 자모 분해의 핵심 공식은 다음과 같습니다. 음절 코드포인트 c에서 U+AC00(0xAC00)을 뺀 값을 이용합니다. 초성 인덱스 = floor((c - 0xAC00) / 588), 중성 인덱스 = floor(((c - 0xAC00) % 588) / 28), 종성 인덱스 = (c - 0xAC00) % 28입니다. 한글 음절 블록은 초성 19개 × 중성 21개 × 종성 28개(종성 없음 포함) = 11,172개로 구성됩니다.
초성·중성·종성 자모 목록
- 초성 (19개): ㄱ ㄲ ㄴ ㄷ ㄸ ㄹ ㅁ ㅂ ㅃ ㅅ ㅆ ㅇ ㅈ ㅉ ㅊ ㅋ ㅌ ㅍ ㅎ
- 중성 (21개): ㅏ ㅐ ㅑ ㅒ ㅓ ㅔ ㅕ ㅖ ㅗ ㅘ ㅙ ㅚ ㅛ ㅜ ㅝ ㅞ ㅟ ㅠ ㅡ ㅢ ㅣ
- 종성 (28개, 없음 포함): (없음) ㄱ ㄲ ㄳ ㄴ ㄵ ㄶ ㄷ ㄹ ㄺ ㄻ ㄼ ㄽ ㄾ ㄿ ㅀ ㅁ ㅂ ㅄ ㅅ ㅆ ㅇ ㅈ ㅊ ㅋ ㅌ ㅍ ㅎ
초성 추출 활용 예시
초성 추출은 다양한 분야에서 실용적으로 활용됩니다. 초성 검색(예: 'ㅅㅅ'→'삼성'), 초성 퀴즈(예: 'ㅅㄹ'의 답은 '사랑'), 은어·준말 해독 등에 사용됩니다. 프로그래밍에서는 한글 검색 자동완성 기능 구현에 필수적인 알고리즘입니다.
자주 묻는 질문 (FAQ)
Q. 한글 자모 분리란 무엇인가요?
A. 한글 자모 분리는 완성형 한글 음절(예: '한')을 초성(ㅎ)·중성(ㅏ)·종성(ㄴ)으로 분해하는 작업입니다. 유니코드에서 한글 음절은 U+AC00(가)을 기준으로 수식으로 분해할 수 있습니다.
Q. 초성 추출은 어디에 활용되나요?
A. 초성 추출은 한글 검색 기능 구현, 초성 퀴즈 게임, 초성 채팅 약어 분석, 사전 색인 등에 활용됩니다. 예를 들어 'ㅅㅁㅅㄴ'으로 '삼성전자'를 초성 검색하는 기능이 대표적입니다.
Q. 한글 자모 분해 공식은 무엇인가요?
A. 유니코드 한글 음절(U+AC00~U+D7A3)에서 초성 인덱스 = floor((코드 - 0xAC00) / 588), 중성 인덱스 = floor(((코드 - 0xAC00) % 588) / 28), 종성 인덱스 = (코드 - 0xAC00) % 28 입니다. 초성 19개, 중성 21개, 종성 28개(없음 포함)가 정의되어 있습니다.
Q. 종성이 없는 글자(받침 없는 글자)는 어떻게 표시되나요?
A. 종성이 없는 글자(예: '가', '나')는 종성 인덱스가 0입니다. 이 경우 종성 칸에 '-'(없음)으로 표시됩니다.
Q. 한글이 아닌 문자(영문, 숫자 등)는 어떻게 처리되나요?
A. 한글 음절(U+AC00~U+D7A3) 범위에 해당하지 않는 문자(영문, 숫자, 특수문자 등)는 분해되지 않고 원본 문자 그대로 표시됩니다. 초성 추출 결과에서도 해당 문자는 그대로 포함됩니다.