如何在 C# 中解码带有重音符号的 url
How to decode a url with accents in C#
我一直在尝试解码 %E9(é)。
WebUtility.HtmlDecode("%E9")
不起作用。
它放了一个?符号而不是 é。
我对此进行了测试,发现 HttpUtility.UrlDecode("%E9")
return 是您提到的问号。看来您必须手动指定适当的编码才能使其与 %E9
编码值一起正常工作。
你可以试试:
HttpUtility.UrlDecode("%E9", System.Text.UnicodeEncoding.Default);
或
HttpUtility.UrlDecode("%E9", System.Text.UnicodeEncoding.UTF7);
两者都应该 return 字符按您的预期解码。
对于 Url 解码,您应该使用 UrlDecode 而不是 HtmlDecode。此外,您需要指定编码才能使其工作,因为编码值 %E9
不是 UTF-8
值,默认情况下 UrlDecode
returns 字符串使用 [=12= 解码].
除了Lukasz的回答,你还可以使用:
HttpUtility.UrlDecode("%E9", System.Text.Encoding.GetEncoding("iso-8859-1"));
我一直在尝试解码 %E9(é)。
WebUtility.HtmlDecode("%E9")
不起作用。 它放了一个?符号而不是 é。
我对此进行了测试,发现 HttpUtility.UrlDecode("%E9")
return 是您提到的问号。看来您必须手动指定适当的编码才能使其与 %E9
编码值一起正常工作。
你可以试试:
HttpUtility.UrlDecode("%E9", System.Text.UnicodeEncoding.Default);
或
HttpUtility.UrlDecode("%E9", System.Text.UnicodeEncoding.UTF7);
两者都应该 return 字符按您的预期解码。
对于 Url 解码,您应该使用 UrlDecode 而不是 HtmlDecode。此外,您需要指定编码才能使其工作,因为编码值 %E9
不是 UTF-8
值,默认情况下 UrlDecode
returns 字符串使用 [=12= 解码].
除了Lukasz的回答,你还可以使用:
HttpUtility.UrlDecode("%E9", System.Text.Encoding.GetEncoding("iso-8859-1"));