解码字符串以获取值"Indsætning"

thd*_*thd 0 c# encoding urlencode

我有一个字符串(C#代码),如下所示:

string s = "Indsætning";
Run Code Online (Sandbox Code Playgroud)

它以某种方式编码,我不确定.

我想解码它,以便我得到以下字符串:

Indsætning
Run Code Online (Sandbox Code Playgroud)

我试过了

string s1 = HttpUtility.UrlDecode(s);
string s2 = HttpUtility.HtmlDecode(s);
Run Code Online (Sandbox Code Playgroud)

但是,我没有得到我正在寻找的字符串.

任何帮助表示赞赏.

key*_*rdP 5

将字符串转换为字节,然后使用Encoding类获取UTF-8字符串表示形式.

string s = "Indsætning";

byte[] sBytes = s.Select(x => (byte)x).ToArray();
string decoded = Encoding.UTF8.GetString(sBytes);
Run Code Online (Sandbox Code Playgroud)

编辑 - 如评论中所述,这假定转换的字符串是特定编码(在本例中为Latin-1).因此,它不一定适用于所有字符串,除非您知道它们都被编码为相同的格式.

  • 好吧,假设字符串是Latin-1编码,在这种情况下它是,但你应该明确地做出这个假设...... (2认同)