HttpUtility.UrlDecode将%2b转换为空格,但我需要它为'+'

时间:2011-07-19 20:44:15

标签: html http

我正在使用HttpUtility.UrlEncode将参数值转换为将“+”汇总到页面之间传递的安全字符串,因此它将“+”变为%2b,但是当我使用Decode方法时,它会给我一个空格。为什么呢?

2 个答案:

答案 0 :(得分:19)

解码%2b可以返回+,但解码+会给你一个空格。

所以,很可能你的字符串被解码了两次。如果你是从Request.Querystring集合中读取它,那么它已经被解码了,所以你不应该再解码它。

答案 1 :(得分:0)

很奇怪,以下在我的控制台上打印+(正如预期的那样):

Console.WriteLine(HttpUtility.UrlDecode(HttpUtility.UrlEncode("+")));