如何在c#中解码带有重音的url
本文关键字:url 解码 | 更新日期: 2023-09-27 18:10:48
我一直在尝试解码%E9(
WebUtility.HtmlDecode("%E9")
是行不通的。它放了一个?用符号代替。
我已经测试过了,发现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"));