尝试
escape
和
unescape
.
更新:好的,escape/unescape不友好。你说
encodeURIComponent
把你带到那里,但是错过了几个字符,即
'
. 我们可以做一个助手函数
utf8escape
使用
编码成分
但同时也要处理好所有剩余的魔法,即
'
:
<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>
这个实现可能效率不高,但我想你已经有了大致的想法。