将字符串"test%C3%B8%C3%B8%C3%B8.txt"转换为"testøø.txt"



如何将"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

在线试用

最新更新