1. 완성형 한글 초성 추출을 위한 기본 정보
먼저 한글(가~힣)까지의 유니코드 범위는 U+AC00 ~ U+D7A3이다.
한글의 UTF-8 인코딩 길이는 3byte이다.
UTF-8 인코딩은 가변 길이 문자 인코딩 방식으로, 위의 한글 범위의 유니코드는 3바이트 길이를 가진다.
유니코드 U+0800 ~ U+FFFF범위의 UTF-8 인코딩 방식은 1110xxxx 10xxxxxx 10xxxxxx.
한글의 범위(U+AC00 ~ U+D7A3)는 U+0800 ~ U+FFFF에 해당한다.
한글의 초성, 중성, 종성 케이스는 아래와 같다.
- 초성 19개
['ㄱ', 'ㄲ', 'ㄴ', 'ㄷ', 'ㄸ', 'ㄹ', 'ㅁ', 'ㅂ', 'ㅃ', 'ㅅ', 'ㅆ', 'ㅇ', 'ㅈ', 'ㅉ', 'ㅊ', 'ㅋ', 'ㅌ', 'ㅍ', 'ㅎ'] - 중성 21개
['ㅏ', 'ㅐ', 'ㅑ', 'ㅒ', 'ㅓ', 'ㅔ', 'ㅕ', 'ㅖ', 'ㅗ', 'ㅘ', 'ㅙ', 'ㅚ', 'ㅛ', 'ㅜ', 'ㅝ', 'ㅞ', 'ㅟ', 'ㅠ', 'ㅡ', 'ㅢ', 'ㅣ'] - 종성 28개
['','ㄱ','ㄲ','ㄳ','ㄴ','ㄵ','ㄶ','ㄷ','ㄹ','ㄺ','ㄻ','ㄼ','ㄽ','ㄾ','ㄿ','ㅀ','ㅁ','ㅂ','ㅄ','ㅅ','ㅆ','ㅇ','ㅈ','ㅊ','ㅋ',' ㅌ','ㅍ','ㅎ']
2. 초성 구하기 예시
'달'의 초성인 'ㄷ'을 구해본다.
한글의 첫 글자인 '가'(유니코드 U+AC00)의 10진수 값은 44032이다.
'달'의 유니코드 값은 U+B2EC(UTF8: 235, 139, 160)이고, 10진수 값은 45804이다.
45804 - 44032 = 1172
1172 / (21 * 28) = 3(초성의 인덱스, 0부터 시작)
위의 초성 19개 배열의 4번째 값이 '달'의 초성에 해당한다.
> 'ㄷ'
참조 :
반응형
'Programming' 카테고리의 다른 글
NVM, Node js, NPM 설치 하기 (windows 10) (0) | 2021.11.27 |
---|---|
robots.txt 정리 및 예시 (0) | 2021.11.27 |
CSS cursor 종류 및 테스트 (마우스 커서) (0) | 2021.11.27 |
php 설치 방법 (window, Visual Studio Code) (0) | 2021.11.23 |
키움증권 api (Open API+) 사용 방법 (KOA Studio 살펴보기) (0) | 2021.11.21 |
키움증권 api (Open API+) 사용 방법 (Open API 접속) (0) | 2021.11.21 |