Ben*_*son 4 .net javascript c#
Server.UrlEncode("My File.doc")返回"My + File.doc",而javascript escape("My File.doc")返回"My%20File.doc".据我所知,javascript是corectly URL编码字符串而.net方法不是.它实际上似乎在实践中使用http://somesite/My+File.doc无法获取"My File.doc",无论如何我可以使用firefox/ie和IIS进行测试,而http:// somesite /我的%20File.doc工作正常.我错过了什么或Server.UrlEncode根本无法正常工作?
使用Javascripts encodeURIComponent()/decodeURIComponent()与.Net的URLEncode/URLDecode进行"往返"编码.
编辑
据我所知,历史上"+"已经在URL编码中用作空格char(ASCII 20)的特殊替换.如果一个实现没有将空间考虑为具有'+'替换的特殊字符,那么它仍然必须使用其ASCII代码来逃避它(因此'%20').
http://bytes.com/topic/php/answers/5624-urlencode-vs-rawurlencode对这种情况进行了非常好的讨论.顺便说一句,这是不确定的.RFC 2396将空间与其他字符混为一谈,没有无保留的表示,其中有'%20'人群.
RFC 1630支持'+'人群(通过论坛讨论)......
在查询字符串中,加号被保留为空格的简写表示法.因此,必须对真正的加号进行编码.此方法用于使查询URI更容易在不允许空格的系统中传递.
此外,核心RFC是......
RFC 1630 - WWW中的通用资源标识符
RFC 1738 - 统一资源定位器(URL)
RFC 2396 - 统一资源标识符(URI):通用语法
| 归档时间: |
|
| 查看次数: |
4828 次 |
| 最近记录: |