JSFiddle - React, Tailwind, and code Playground

JavaScript

// 문자열 --> HTML 정식 유니코드 문자열
    function getStringToUnicodeHTML(str) {

        str = str || '';

        var ret = [];
        var strs = str.split('');

        for (var i = 0, length = strs.length; i < length; i++) {
            ret.push('&#' + strs[i].charCodeAt(0));
        }

        return ret.join('');
    }

    // 문자열 --> 유니코드 문자열
    function getStringToUnicode(str) {

        str = str || '';

        var ret = [];
        var strs = str.split('');

        for (var i = 0, length = strs.length; i < length; i++) {
            ret.push(escape(strs[i]).replace('%', '\\'));
        }

        return ret.join('');
    }


    // 유니코드 문자열 --> 문자열
    function getUnicodeToString(unicodes) {

        unicodes = unicodes || [];

        var ret = [];

        for (var i = 0, length = unicodes.length; i < length; i++) {
            ret.push(unescape(unicodes[i]));
        }

        return ret.join('');
    }

    // HTML 정식 유니코드 문자열 --> 문자열
    function getUnicodeHTMLToString(unicodes) {

        unicodes = unicodes || [];

        var ret = [];

        for (var i = 0, length = unicodes.length; i < length; i++) {
            ret.push(String.fromCharCode(parseInt(unicodes[i].replace('&#', ''), 10)));
        }

        return ret.join('');
    }

    alert(getStringToUnicodeHTML('전성균'));
    alert(getStringToUnicode('전성균'));
    alert(getUnicodeToString(['\ufffd\u03ba\ufffd\ufffd\ufffd\u04b0\ufffd+\ufffd\u04b0\ufffd\ufffd\ufffd\ufffd\ufffd+\ufffd\u0177\ufffd\ufffd\u0339\u01f7\ufffd+\ufffd\ufffd\ufffd\u03ba\u04b0\ufffd']));
    alert(getUnicodeHTMLToString(['&#51204', '&#49457', '&#44512']));