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

来源:互联网 发布:java泛型参数 编辑:程序博客网 时间:2024/05/29 10:08

前端用法

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>


0 0