JS 로 유니코드를 한글로 변경하는 방법이 궁급합니다.

JS로 유니코드를 한글로 변환할때 종음에 2개의 자음이 사용될 경우

유니코드를 구하는 방법이 궁급합니다.

JS로 유니코드를 한글로 변환하거나 입력된 문자열(한글)을 유니코드로 변경하려고 합니다.

이때 입력된 문자열 각각을

초성 중성 종성으로 분리하고 유니코드로 변경하는 작업까지는 성공 했습니다.

jong = UCode % 28; // 종성 jung = ((UCode - jong) / 28 ) % 21 // 중성 cho = (((UCode - jong) / 28 ) - jung ) / 21 // 초성

예를들어 "많" 이라는 문자열을 입력했을 경우

"ㅁ, ㅏ, ㄴ, ㅎ" 이라는 문자열들을 각각 유니코드로 변경 했습니다.

이렇게 변환된 유니코드들을 다시 한글로 변경할때 아래와 같은 방식으로 구현중입니다.

String.fromCharCode(44032 + (cho * 588) + (jung * 28) + jong);

문제는 위의 문자 "많" 처럼 종음에 오는 자음의 숫자가 2개 일 경우

'ㄴ,ㅎ'으로 'ㄶ'의 유니코드 문자열을 알아와야하는데 그 방법이 궁급합니다.

(종음을 구할때 ㄴ,ㅎ 으로 분리해야 하기 때문에 "ㄶ"을 유니코드로 구해둘 수 없는 상황입니다.)

    1개의 답변이 있어요!

    • 아래의 소스로 한번 진행해보시기바랍니다

      <!DOCTYPE html> <html> <head> <title>converter</title> <meta charset="UTF-8"> </head> <script> function replaceAll(str, strValue1, strValue2){ while(1){ if( str.indexOf(strValue1) != -1 ) str = str.replace(strValue1, strValue2); else break; } return str; } function unicodeToKor(){ var str=document.getElementById("uni_from").value; document.getElementById("kor_tO").value=unescape(replaceAll(str, "\\", "%")); } function korToUnicode(){ var str=document.getElementById("kor_from").value; document.getElementById("uni_tO").value=escape(replaceAll(str, "\\", "%")); } </script> <body> <div> <input type="text" id="uni_from" placeholder="유니코드입력" /> <a href="javascript:unicodeToKor()">unicode to kor</a> <input type="text" id="kor_tO"/> </div> <div> <input type="text" id="kor_from" placeholder="한글입력" /> <a href="javascript:korToUnicode()">kor to unicode</a> <input type="text" id="uni_tO"/> </div> </body> </html>