asp.net URL DES加密 什在URL中的使用

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()