asp.net escape和unescape区别 UrlEncode和UrlDecode区别

前端用法

1,escape方法并不编码字符+。而我们知道,在用户提交的表单字段中,如果有空格,则会被转化为+字符,而服务器解析的时候则会认为+号代表空格。由于这个缺陷,escape方法并不能正确地处理所有的非ASCII字符,你应当尽量避免使用escape方法



2,unescape 函数可对通过 escape() 编码的字符串进行解码。

该函数的工作原理是这样的:通过找到形式为 %xx 和 %uxxxx 的字符序列(x 表示十六进制的数字),用 Unicode 字符 \u00xx 和 \uxxxx 替换这样的字符序列进行解码。


后端用法

1,Server.UrlEncode(url)

对 URL 字符串进行编码。 这些方法重载可用于输入整个 URL,包括查询字符串值。



2,Server.UrlDecode(url)

URL 编码确保所有浏览器正确地传输是在 URL 字符串的文本。字符 (如问号 (?), " and " 符 (&),正斜杠 (/) 和空格。某些浏览器被截断或损坏。因此,必须对这些字符在 <a> 标记或字符串可由在请求字符串的浏览器重新发送的查询字符串。

UrlDecode是一种便捷访问 HttpUtility.UrlDecode 方法在从 ASP.NET 应用程序的运行时。在内部, UrlDecode 使用HttpUtility.UrlDecode 解密字符串。



下面解决页面 带n多参数 回传问题

假设 我的路径 是   www.csdn.com?id=12&uid=12&orderturnUrl="www.baidu.com?pid=12&typeid=12'

挂了 n参数

这是你要把orderturnUrl="www.baidu.com?pid=12&typeid=12'这行进行编码


下面演示解码操作

    <script type="text/javascript" language="javascript">
    //谈勇 2012-10-23
        function pageGoto() { 
            var strReturnUrl =' <%= Request["orderturnUrl"]   %>';
            if (strReturnUrl != null && strReturnUrl != "") {
                location.href = unescape(strReturnUrl);
            }
            else {
                location.href = 'a.aspx';
            }
        }


    </script>



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值