如何解码字符串中的Unicode字符

如何在C#中解码此字符串’Sch \ u00f6nen’( @"Sch\u00f6nen" ),我尝试过HttpUtility,但它没有给我我需要的结果,即“Schönen”。

Regex.Unescape做了诀窍:

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

请注意,在测试变体或编写unit testing时需要小心: "Sch\u00f6nen"已经是"Schönen" 你需要@在字符串前面将\u00f6视为字符串的一部分。

如果您因为看到"Sch\u00f6nen" (或字符串常量中的类似\uXXXX值)而登陆此问题 – 它不是编码。 这是一种将Unicode字符表示为转义序列的方法,类似于字符串表示新行\n\n返回\r \n

我不认为你必须解码。

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

舍恩输出了。

你看过System.Text.Encoding类了吗? 您可以使用UTF-8编码来解码Unicode字符串内容