当前位置:  开发笔记 > 编程语言 > 正文

在不使用HttpUtility.UrlDecode的情况下解码转义的Url

如何解决《在不使用HttpUtility.UrlDecode的情况下解码转义的Url》经验,为你挑选了2个好方法。

是否有任何函数可以将转义的Url字符串转换为未转义的形式?System.Web.HttpUtility.UrlDecode()可以做那个工作,但我不想添加引用System.Web.dll.由于我的应用程序不是Web应用程序,因此我不想仅在程序集中使用函数添加依赖项.

更新:查看Rick Strahl关于同一问题的博客文章.



1> Igal Tabachn..:

编辑:使用静态方法Uri.UnescapeDataString()解码您的网址:

编码: http%3a%2f%2fwww.google.com%2fsearch%3fhl%3den%26q%3dsomething%20%2323%26btnG%3dGoogle%2bSearch%26aq%3df%26oq%3d

解码: http://www.google.com/search?hl=en&q=something #23&btnG=Google+Search&aq=f&oq=


注意:这不适用于加号 - http://blogs.msdn.com/b/yangxind/archive/2006/11/09/don-t-use-net-system-uri-unescapedatastring-in-url -decoding.aspx我还在寻找一种更好的方法.
@Chris:Rick Strahl围绕`Uri.UnescapeDataString()`构建了一个实用程序类,正确处理`+`符号.有关详细信息,请参阅[他的博客文章](http://www.west-wind.com/weblog/posts/617930.aspx).

2> 小智..:

如果您使用的是.NET 4.0或更高版本,则可以使用WebUtility.UrlDecode,它可以使用客户端配置文件并正确处理加号(请参阅此讨论).

推荐阅读
手机用户2402851155
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有