关闭

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

标签: asp.net
313人阅读 评论(0) 收藏 举报
分类:

前端用法

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

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:44774次
    • 积分:801
    • 等级:
    • 排名:千里之外
    • 原创:21篇
    • 转载:101篇
    • 译文:1篇
    • 评论:1条
    文章分类
    最新评论