URL解码时,为什么将加号解码为空?

以下代码在.NET Framework 2.0 中测试。

先看一个例子:

test.aspx页面:

当参数 parameters 输出到页面后,值已经不为”A+B”了,而变成”A B”,将”+”变成了空格。

原因:

在test.aspx页面,”Request.QueryString”中的值仍然是”A%2bB”,但通过Request.QueryString[“p”]取值时,得到的 结果已经被自动解码了( 注意

那么在”string parameters =Request.QueryString[“p “].ToString();”条语句执行完后,parameters 的值已经为”A+B”了。

然后再执行”parameters =Server.UrlDecode(parameters);”条语句时,等于对”A+B”进行了解码。

解码后的值变成了”A B”(A空格B)。

疑问:

“A+B”解码后为什么变成”A B”(将”+”解码为空格)? 请高手赐教。

以下代码来源于.NET Framework 2.0,红色显示部分为造成该问题的原因。

Original: https://www.cnblogs.com/EasyData/archive/2010/01/29/1659169.html
Author: 迷你软件
Title: URL解码时,为什么将加号解码为空?

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/598722/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球