您的位置:首页 > 编程语言 > ASP

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

2015-11-18 16:50 549 查看
前端用法

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

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参数



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

下面演示解码操作

<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>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: