javascript/asp.net转换字符串为16进制编码

  将字符串编码为16进制\u(asciis大于256)或者\x(ascii小于等于256)编码的字符串,当原页面和请求页面编码不统一时,可以有效解决中文内容乱码问题。

  javascript将字符串转为16进制编码内容,以\x16进制形式显示在源代码中,实现代码的简单加密。源代码如下

<script>

    function sToHex(str) {
        var val = "",charCode,s;
        for (var i = 0; i < str.length; i++) {
            charCode = str.charCodeAt(i);
            s = charCode.toString(16);
            if (s.Length==1) s = '0' + s;//不全偶数位,要不会报错
            val += '\\' + (charCode > 256 ? 'u' : 'x') + s;
        }
        return val;
    }
</script>
<b>要编码的字符串</b>
<textarea id="taSource" cols="30" rows="5">coding123.net16进制编码</textarea>
<b>编码后的16进制内容</b>
<textarea id="taRst" cols="30" rows="5"></textarea>
<input type="button" value="将字符串编码为16进制字符串" onclick="document.getElementById('taRst').value=sToHex(document.getElementById('taSource').value)"/>

Asp.Net转换字符串(包含汉字)为16进制编码源代码

    public string toHex(string v)
    {
        if (string.IsNullOrEmpty(v)) return v;
        string r = "",hs;
        int code = 0;
        for (int i = 0, j = v.Length; i < j; i++)
        {
            code = (int)v[i];
            hs = code.ToString("x");
            if (hs.Length == 1) hs = "0" + hs;
            r += "\\" + (code > 256 ? "u" : "x") + hs;
        }
        return r;
    }

 


原创文章,转载请注明出处:javascript/asp.net转换字符串为16进制编码
评论(0)Web开发网
阅读(315)喜欢(0)不喜欢(0)JavaScript/Ajax