如何在c#中解码带有重音的url

本文关键字:url 解码 | 更新日期: 2023-09-27 18:10:48

我一直在尝试解码%E9()。

WebUtility.HtmlDecode("%E9")

是行不通的。它放了一个?用符号代替。

如何在c#中解码带有重音的url

我已经测试过了,发现HttpUtility.UrlDecode("%E9")返回您提到的问号。您必须手动指定适当的编码才能正确使用%E9编码的值。

你可以试试:

HttpUtility.UrlDecode("%E9", System.Text.UnicodeEncoding.Default);

HttpUtility.UrlDecode("%E9", System.Text.UnicodeEncoding.UTF7);

都应该返回您所期望的解码字符。

对于Url解码,您应该使用UrlDecode而不是HtmlDecode。此外,您需要指定编码,因为编码值%E9不是UTF-8值,默认情况下,UrlDecode返回使用UTF-8解码的字符串。

除了Lukasz的回答,你还可以使用:

HttpUtility.UrlDecode("%E9", System.Text.Encoding.GetEncoding("iso-8859-1"));