본문 바로가기
Programming

Unicode 한국어 초성 중성 종성으로 분리하기 & 결합하기

by leanu 2009. 8. 4.

Unicode(UCS2)로 구성된 한글은 초성 중성 종성으로 분리가 된다.

종성 = characterValue % 28
중성 = ( (characterValue - 종성 ) / 28 ) % 21
초성 = ( ( (characterValue - 종성 ) / 28 ) - 중성 ) / 21

이 값들은 인덱스 값이지 실제 Unicode 테이블표에 매치되지 않는다.
매치 시키려면 각각 초성 중성 종성의 시작 unicode 값들을 더해주면 된다.
( 초성 : 0x1100   , 중성 : 0x1161   , 종성 : 0x11A7 )

또한 초성 중성 종성의 값들로 원래의 글자값을 만들려면 다음의 공식을 이용하면 된다.
물론 각각의 값들은 인덱스 값이어야 한다. (실제 테이블 매치 값이면 각각의 값들을 빼준다.)

characterValue = ( (초성 * 21) + 중성) * 28 + 종성 + 0xAC00

한국어 자모와 글자에 대한 Unicode table 표를 참조하고 싶다면 아래의 링크로 들어간다.

자모 : http://www.unicode.org/charts/PDF/U1100.pdf
음절 : http://www.unicode.org/charts/PDF/UAC00.pdf


댓글