js文件u开头的编码原来是unicode编码

在js文件中发现一串编码,\u开头。起初以为是ASIIC码,也不是。utf-8编码也不是。后来,发现是unicode编码。支持中文和英文。很容易和URL编码混淆。例如,在浏览器地址栏中的空格变为%20,汉字变为%开头的字符串等等。

高人实现的unicode转码和解码特有意思。支持中文英文。

javascript代码如下:

<script type="text/javascript">// <![CDATA[
var decToHex = function(str) {
    var res=[];
    for(var i=0;i < str.length;i++)
        res[i]=("00"+str.charCodeAt(i).toString(16)).slice(-4);
    return "\\u"+res.join("\\u");
}
var hexToDec = function(str) {
    str=str.replace(/\\/g,"%");
    return unescape(str);
}
var bianma=function()
{
document.getElementById('code12').value=decToHex(document.getElementById('code11').value);
}
var jiema=function()
{
document.getElementById('code12').value=hexToDec(document.getElementById('code11').value);
}
// ]]></script>

<p><textarea id="code11" style="width: 500px; height: 100px;" rows="5" cols="50" height="100"></textarea> <br />
<input onclick="bianma()" type="button" value="编码" />&nbsp;
<input onclick="jiema()" type="button" value="解码" /><br />
<textarea id="code12" style="width: 500px; height: 100px;" rows="5" cols="50"></textarea></p>

 转自http://www.cnblogs.com/skykang/archive/2011/06/02/2068802.html

相关推荐