C#中是否有命令将字符串转换为https%3A%2F%2Fwww.google.com
回https://www.google.com
?
某种“解密”方法可能吗?
答案 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)
答案 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
,因此您无需导入任何其他程序集。