I'm using HttpUtility.UrlEncode to turn parameter value which concluds '+' to safe string deliverd among pages, so it turns '+' into %2b, but when I use Decode method it give me back a space. Why?
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
回答1:
Decoding %2b
would give you back a +
, but decoding a +
would give you back a space.
So, most likely your string is decoded twice. If you are reading it from the Request.Querystring
collection, then it's already decoded, so you shouldn't decode it again.
回答2:
Weird, the following prints +
on my console (as expected):
Console.WriteLine(HttpUtility.UrlDecode(HttpUtility.UrlEncode("+")));