以下代码在.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/
转载文章受原作者版权保护。转载请注明原作者出处!