한글의 초성을 알아낼 수 있는 방법이 있나요?

bellows의 이미지

한글에서 초성이 어떤 자음인지 알아내는 방법이 있을까요?
가령 "하"는 "ㅎ"라는 걸.. 알아내려고 하는데
방법이 있을까요??

cococo의 이미지

완성형 유니코드 한글의 경우, 초/중/종성으로 분리해주는 함수가 있다는 글을 여기 KLDP에서 본 적이 있습니다.
어디인지까지는 모르겠네요.

행복은 희생없이는 얻을 수 없는 것인가?
시대는 불행없이는 넘을 수 없는 것인가?

쎄시봉의 이미지

유니코드는 값이 테이블로 되어 있어서 계산이 가능합니다.

코드값 = 0xAC00 + (초성값 * 21 * 28) + (중성값 * 28) + 종성값

초성값 : ㄱ=0, ㄲ=1, ㄴ=2 ... ㅎ=18
중성값 : ㅏ=0, ㅑ=1, ... ㅣ=20
종성값 : 없음 = 0, ㄱ = 1, ㄲ = 2...ㅎ=27

예를 들어 '하'의 경우는 초성값 = 18, 중성값 = 0, 종성값 = 0 을 넣어 계산한 후 16진수로 변환하여 0xAC00을 더해주면 됩니다.

이를 사용하면 코드값을 알았을 때 초성, 중성, 종성 값을 알 수 있습니다. :-)