请看下面的代码:
string _decoded = System.Web.HttpUtility.UrlDecode(
"There%20should%20be%20text%20after%20this%0022help!");
编码行
"There%20should%20be%20text%20after%20this%0022help!"
通过网站urldecoder.org解码后,产生以下内容:
"这里应该有文本22help!"
然而在调试器中显示的_decoded的值是: 图1:问题的调试器视图
可能是什么原因导致了这个问题?是否有一种设置或特殊编码可以在所有情况下避免这种情况发生?
编辑:是的,我认为这种行为是错误的。我不希望URLDecode向结果字符串引入\0字符,因为这将导致无效的文件名(我的代码正在移动文件)。
%00
should probably be%20
- phuzi