如何将包含错误土耳其语字符的字符串转换为显示正确的字符?

Ali*_*Tor 2 c# encoding

我有一个包含 ASCII 字符的字符串,例如

\n\n
"Tu%C4%9F%C3%A7e%20Kandemir%20-%20G%C3%BCl%C3%BC%20Soldurmam.mp3" \n
Run Code Online (Sandbox Code Playgroud)\n\n

正确的文件名是

\n\n
"Tu\xc4\x9f\xc3\xa7e Kandemir - G\xc3\xbcl\xc3\xbc Soldurmam" \n
Run Code Online (Sandbox Code Playgroud)\n\n

我该如何转换它?

\n

hal*_*ldo 6

该字符串看起来像是针对 URL 进行编码的。

\n\n

您可以使用UrlDecode来自System.Web.HttpUtility

\n\n
var encoded = "Tu%C4%9F%C3%A7e%20Kandemir%20-%20G%C3%BCl%C3%BC%20Soldurmam.mp3";\nvar decoded = HttpUtility.UrlDecode(encoded);\n
Run Code Online (Sandbox Code Playgroud)\n\n

或者,如果您不使用网络应用程序,则可以使用System.Net.WebUtility.UrlDecode

\n\n
var decoded = WebUtility.UrlDecode(encoded);\n
Run Code Online (Sandbox Code Playgroud)\n\n

这两个都输出以下字符串:

\n\n
"Tu\xc4\x9f\xc3\xa7e Kandemir - G\xc3\xbcl\xc3\xbc Soldurmam.mp3"\n
Run Code Online (Sandbox Code Playgroud)\n