Подтвердить что ты не робот

Как декодировать символ Unicode в строке

Как декодировать эту строку 'Sch\u00f6nen' (@"Sch\u00f6nen") в С#, я пробовал HttpUtility, но это не дает мне результаты, которые мне нужны, это "Schönen".

4b9b3361

Ответ 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 для декодирования строкового содержимого Юникода