2013-08-29 26 views

回答

6

您需要使用System.Web.HttpUtility.UrlDecode此:

string real = System.Web.HttpUtility.UrlDecode(encodedString); 

您CA n使用反向功能System.Web.HttpUtility.UrlEncode進行編碼。

這不是一個加密或解密的問題。只是某些字符不能在URL中作爲參數或其他參數的一部分表示。例如,冒號(:)不能作爲URL尾部的一部分,因爲它用在前綴(http :)中,所以它被編碼爲%3A。

以同樣的方式,斜線被編碼爲%2F。因此,%3A%2F2%F表示://。

3

您可以嘗試

HttpUtility.UrlDecode(url); 

Uri.UnescapeDataString(url); 
2

如果您不是在使用Web應用程序,我建議您使用WebUtility類,因爲您不必導入整個System.Web程序集以訪問HttpUtility類所需的UrlDecode。 (你需要瞄準.NET 4)

string unencoded = WebUtility.UrlDecode("https%3A%2F%2Fwww.google.com"); 

您還可以使用Uri.UnescapeDataString如果不需要任何其他HTML編碼/解碼方法。這是System.Uri,所以你不需要導入任何其他程序集。