Unicode (이하 ‘유니코드’) 에서의 한글은 다음과 같이 구성된다.

  1. 초성 19개 (ㄱ, ㄲ, ㄴ, ㄷ, ㄸ, ㄹ, ㅁ, ㅂ, ㅃ, ㅅ, ㅆ, ㅇ, ㅈ, ㅉ, ㅊ, ㅋ, ㅌ, ㅍ, ㅎ)
  2. 중성 21개 (ㅏ, ㅐ, ㅑ, ㅒ, ㅓ, ㅔ, ㅕ, ㅖ, ㅗ, ㅘ, ㅙ, ㅚ, ㅛ, ㅜ, ㅝ, ㅞ, ㅟ, ㅠ, ㅡ, ㅢ, ㅣ)
  3. 종성 28개 (없음, ㄱ, ㄲ, ㄳ, ㄴ, ㄵ, ㄶ, ㄷ, ㄹ, ㄺ, ㄻ, ㄼ, ㄽ, ㄾ, ㄿ, ㅀ, ㅁ, ㅂ, ㅄ, ㅅ, ㅆ, ㅇ, ㅈ, ㅊ, ㅋ, ㅌ, ㅍ, ㅎ)

 

첫번째 한글 문자는 ‘가(유니코드 44032)’ 로 시작이 되며 마지막 한글 문자 ‘힣(유니코드 55203)’ 이 된다. (총 범위 44032 ~ 55203 / 이를 벗어나면 한글이 아니다)

‘뛝’이나 ‘힣’, ‘썑’과 같이 실생활에선 사용되지 않는 문자들도 있지만 이 자체가 조합형 한글의 장점이다.

 

44032 값은 ‘가’ 가 되고 44033 값은 ‘각’ 이 된다. (44034 = 갂, 44035 = 갃, …)

44032 + 28 이 되면 초성은 그대로 유지된 상태에서 중성만 다음으로 넘어간다.

(ㅏ -> ㅐ -> ㅑ -> ㅒ … 순서)

따라서 ‘가’ 다음인 ‘까’ 를 출력하려면 ‘가’ 의 유니코드 값인 44032 588 을 더해야 한다. (44620)

다시 말하지만 이 588 이란 값은 ‘가’ 에 속한 중성과 종성을 모두 계산한 값이다. (중성 21개 * 종성 28개 = 총 588개)

만약 ‘나’ 를 출력하고자 한다면 440321176 을 더한 값(45208)이면 된다. (588 * 2 = 1176)

 

예제 페이지 : http://zective.com/crap/test.php