Как декодировать эту строку 'Sch\u00f6nen' (@"Sch\u00f6nen"
) в С#, я пробовал HttpUtility, но это не дает мне результаты, которые мне нужны, это "Schönen".
Как декодировать символ Unicode в строке
Ответ 1
Regex.Unescape
сделал трюк:
System.Text.RegularExpressions.Regex.Unescape(@"Sch\u00f6nen");
Обратите внимание, что вам нужно быть осторожным при тестировании вариантов или написания модульных тестов: "Sch\u00f6nen"
уже "Schönen"
. Вам нужно @
перед строкой для обработки \u00f6
как части строки.
Ответ 2
Если вы приземлились на этот вопрос, потому что вы видите "Sch\u00f6nen"
(или аналогичные значения \uXXXX
в строковой константе) - это не кодировка. Это способ представления символов Юникода в качестве escape-последовательности, аналогичной тому, как строка представляет новую строку \n
и Return by \r
.
Я не думаю, что вы должны декодировать.
string unicodestring = "Sch\u00f6nen";
Console.WriteLine(unicodestring);
Вышел Шёнен.
Ответ 3
Вы просматривали классы System.Text.Encoding? Возможно, вы сможете использовать кодировку UTF-8 для декодирования строкового содержимого Юникода