한글 조합에 관하여,,
글쓴이: dkdlel12 / 작성시간: 화, 2011/04/05 - 9:32오전
안녕하세요!
현재 c로 프로그램을 작성하고 있는데요
초성, 중성, 종성으로 분리된 한글을 다시 조합하고 싶습니다.
현재 알고 있는정보는 초성, 중성, 종성의 값인데요,,
"간"이라는 단어일시
초성: ㄱ, 중성: ㅏ, 종성: ㄴ 이라는 단어만 알고 있는겁니다.
유니코드값 = 44032+ 초성*588 + 중성*28 + 종성 으로 알고 있는데,
(중성*28 인데 오타가 났었군요 ㅠㅠ)
"간"이라는 단어는 44036 이라는 값이 나오게 됩니다.
44036이라는 값이 한글로는 먼지 아는 방법이 있을까요?
배열에 모든 한글코드를 넣어서 비교하는 방법이 아닌, 다른 방법을 알고 싶습니다!
답변 부탁드립니다!
Forums:
초성 중성 종성
변환 테이블을 이용하는 방법 말고는 모르겠네요
그런데 저 유니코드값을 얻는 공식 흥미로운데
확실한건가요? 어떻게 알아내셨는지 신기-.-;;
자기실력이 좋다고 느껴지는건 공부를 안하고 있다는 신호.
유니코드 문서를 보세요
http://www.unicode.org/versions/Unicode6.0.0/ch03.pdf
3.12 conjoining jamo behaviour
참조하세요.
_
중성*28입니다. ((초성*21)+중성)*28+종성.
질문의 의도를 잘 모르겠는데, 만약 44036 -> ㄱ+ㅏ+ㄴ의 역변환이 필요한 거라면 44036 - 44032 = 5 = 초성*588 + 중성*28 + 종성에서 초성 = 0, 중성 = 0, 종성 = 5가 되어 ㄱ+ㅏ+ㄴ이 되는 것이겠고요. 이거 공식은 5 / 588 = 0, (5/28) % 21 = 0, 5 % 28 = 5로 구할 수 있습니다.
그게 아니라 유니코드 값을 실제 문자열로 변환하는 것이 필요하다면 우선 인코딩이 무엇이고 UTF-8이 무엇인지를 알아보셔야 할 것 같네요.
문제 해결하였습니다!! 답글달아주신 분들 모두
문제 해결하였습니다!!
답글달아주신 분들 모두 감사드려요!!
중성*28인거 알고있었는데 ㅠㅠ 오타가 났네요 ㅎㅎ 지적 감사드립니다~
댓글 달기