DES 加密 有时会有 + = 这些特殊字符串
Server.UrlDecode(Request["UserName"]) //能解决 = 号,但是 +号会变成空格
HttpUtility.UrlEncode(Request["UserName"]); //能解决 +号 但是 =号还是 %3d
/*由于DES加密会有 + = 等特殊字符串,如果在URL中传递时会自动的编码 + 变成空格
* ,所以在传过来时就得将+号转码,+ 变成%2B = 号不要进行转码
* */
在这篇blog中找到了答案
http://www.cnblogs.com/dudu/archive/2011/02/25/asp_net_UrlEncode.html
public void UrlEncodeTest() { string url = "C++ C#"; Console.WriteLine(HttpUtility.UrlEncode(url));//C%2b%2b+C%23 Console.WriteLine(HttpUtility.UrlPathEncode(url));//C++%20C# Console.WriteLine(Uri.EscapeUriString(url));//C++%20C# Console.WriteLine(Uri.EscapeDataString(url));//C%2B%2B%20C%23 }
Uri.EscapeDataString()