Como decodificar um caractere Unicode em uma string

Como faço para decodificar essa seqüência ‘Sch \ u00f6nen’ ( @"Sch\u00f6nen" ) em C #, eu tentei HttpUtility mas não me dá os resultados que eu preciso, que é “Schönen”.

Regex.Unescape fez o truque:

 System.Text.RegularExpressions.Regex.Unescape(@"Sch\u00f6nen"); 

Observe que você precisa ter cuidado ao testar suas variantes ou escrever testes de unidade: "Sch\u00f6nen" já é "Schönen" . Você precisa @ na frente da string para tratar \u00f6 como parte da string.

Se você "Sch\u00f6nen" essa questão porque viu "Sch\u00f6nen" (ou valores semelhantes \uXXXX na constante de string) – ela não está codificando. É uma maneira de representar caracteres Unicode como uma seqüência de escape semelhante à forma como string representa New Line por \n e Return por \r .

Eu não acho que você tenha que decodificar.

 string unicodestring = "Sch\u00f6nen"; Console.WriteLine(unicodestring); 

Schönen foi produzido.

Você já olhou para as classs System.Text.Encoding? Você pode usar a codificação UTF-8 para decodificar o conteúdo da string Unicode