将特殊字符转换为常规c#

时间:2013-08-29 11:52:49

标签: c#

C#中是否有命令将字符串转换为https%3A%2F%2Fwww.google.comhttps://www.google.com

某种“解密”方法可能吗?

4 个答案:

答案 0 :(得分:7)

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

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

您可以使用反向函数System.Web.HttpUtility.UrlEncode进行编码。

这不是加密或解密的问题。只是某些字符不能表示为URL中的参数或其他字符的一部分。例如,冒号(:)不能是URL尾部的一部分,因为它在前缀(http :)中使用,因此它被编码为%3A。

以同样的方式,斜杠被编码为%2F。因此,%3A%2F2%F表示://。

答案 1 :(得分:4)

您可以使用HttpUtility.UrlDecode

答案 2 :(得分:3)

你可以尝试

HttpUtility.UrlDecode(url);

Uri.UnescapeDataString(url);

答案 3 :(得分:2)

如果您没有使用Web应用程序,我建议您使用WebUtility类,而不必导入整个System.Web程序集以访问UrlDecode,这是HttpUtility课程所需。 (您需要定位.NET 4)

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

如果不需要任何其他Uri.UnescapeDataString编码/解码方法,您也可以使用HTML。这是System.Uri,因此您无需导入任何其他程序集。