为了账号安全,请及时绑定邮箱和手机立即绑定

System.Web.HttpUtility.UrlDecode 中是否存在错误?

System.Web.HttpUtility.UrlDecode 中是否存在错误?

C#
一只斗牛犬 2021-11-28 16:20:38
考虑以下代码行:string _decoded = System.Web.HttpUtility.UrlDecode(   "There%20should%20be%20text%20after%20this%0022help!");编码的行"There%20should%20be%20text%20after%20this%0022help!"当通过网站 urldecoder.org 解码时产生“this22help之后应该有文字!”然而,调试器中显示的 _decoded 值是: 图 1:问题的调试器视图什么可能导致这个问题?是否有设置或特殊编码可以在所有情况下规避这种情况?编辑:是的,我认为这种行为是一个错误。我不希望 URLDecode 将 \0 字符引入到结果字符串中,因为它会导致无效的文件名(我的代码在文件中移动)。
查看完整描述

1 回答

?
人到中年有点甜

TA贡献1895条经验 获得超7个赞

\0后面有一个空字节 ( = %00),this因此调试器不会显示字符串的其余部分。

所以解码的值是正确的,这只是调试器的限制(或错误?)。

你可以看看这里大约从安全角度来看,空字节更多信息。还有这个问题也发布了。


查看完整回答
反对 回复 2021-11-28
  • 1 回答
  • 0 关注
  • 275 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信