我正在寻找特殊字符(例如:日语字符)以及'
。
encodeURIComponent()对特殊字符进行编码,但不对'
进行编码。
任何内置的Javascript函数同时执行这两个函数(即编码日语字符以及'
?
答案 0 :(得分:1)
更新:好的,转义/ 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>
这种实现可能效率低下,但我猜你会得到一般的想法。