Как преобразовать unicode-строку в кирилицу?

218
14 ноября 2017, 21:49

Извиняюсь за тупые вопросы. Но я ни черта не понимаю в кодировках. Есть вот такая строка: \u041f\u0440\u043e\u0434\u0443\u043a\u0442 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d

Как ее преобразовать в нормальную кириллицу?

Пробовал пример с MSDN - не помогает. Строка вообще не изменяется.

Answer 1

Нашлось неожиданно простое решение:

var s = @"\u041f\u0440\u043e\u0434\u0443\u043a\u0442 " +
        @"\u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d";
var d = Regex.Unescape(s); // "Продукт добавлен"

Корень проблемы в том, что у вас не Unicode-строка, а строка, в которой не-ASCII-символы закодированы escape-последовательностями. То есть проблема не в кодировках, а в содержимом самой строки.

Скорее всего, вы получили такую строку при попытке ручного разбора какого-то высокоуровневого формата (JSON?). Лучше всего в таких случаях не изобретать велосипед, а довериться готовому парсеру.

READ ALSO
Как прокинуть константы в TypeScript из ASP.NET MVC Core?

Как прокинуть константы в TypeScript из ASP.NET MVC Core?

У меня есть приложение на ASPNET MVC Core 2

372
Как получить историю логов js

Как получить историю логов js

Код сайта по "Посмотреть код" недоступенНо мне нужно чтобы пользователь по нажатию на кнопку получил все логи которые были записаны js

274