任何内置的Javascript函数编码'?

时间:2010-11-25 07:26:59

标签: javascript internationalization character-encoding

我正在寻找特殊字符(例如:日语字符)以及'。 encodeURIComponent()对特殊字符进行编码,但不对'进行编码。

任何内置的Javascript函数同时执行这两个函数(即编码日语字符以及'

1 个答案:

答案 0 :(得分:1)

尝试escapeunescape


更新:好的,转义/ unescape不是I18N友好的。你说encodeURIComponent可以帮助你完成大部分工作,但是错过了几个字符,即'。我们可以创建一个使用utf8escape的辅助函数encodeURIComponent,但也可以处理任何剩余的字符,即'

 <html><head><title></title>
        <script>
            function utf8escape(s) {
                s = encodeURIComponent(s);
                s = s.replace(/'/, '%27');
                return s;
            }
            function enc() {
                var f1 = document.getElementById("f1");
                f1.value = utf8escape(f1.value);
            }
            function dec() {
                var f1 = document.getElementById("f1");
                f1.value = decodeURIComponent(f1.value);
            }
        </script>
    </head>
    <body>
        <input type="text" id="f1" name="f1" size="80"/><br/>
        <button onclick="enc()">Encode</button>
        <button onclick="dec()">Decode</button>
    </body>
</html>

这种实现可能效率低下,但我猜你会得到一般的想法。