如何将"testdoc%C3%B8%C3%B8%B8%B8%B8.txt"中%C3%B8
的字节转换为ø
?
我尝试了以下不起作用的方法:
var cont = response.Content.Headers.ContentDisposition?.FileName;
var bytes = Encoding.UTF8.GetBytes(cont);
var test = new string(bytes.Select(b => (char)b).ToArray());
var yourText = System.Text.Encoding.UTF8.GetString(bytes);
根本不要费心将其转换为字节。正如评论中指出的,这是URL编码,而不是UTF8。
在System.Web
命名空间中使用HttpUtility
:
string input = "testdoc%C3%B8%C3%B8%C3%B8.txt";
string output = HttpUtility.UrlDecode(input);
Console.WriteLine(output); // testdocøøø.txt
在线试用