Необходимо из массива байт перевести текст в кодировке windows-1251 в строку.
Для этого я использую встроенное средство:
Encoding encoding = Encoding.GetEncoding("windows-1251");
Однако этот код выдаёт исключение:
'windows-1251' is not a supported encoding name.
Parameter name: name
Никак не могу понять, что здесь не так, в интернете и даже на англоязычном stackoverflow именно так вопрос с кодировкой и решают.
Ответ
С помощью сторонней библиотеки https://github.com/jstedfast/Portable.Text.Encoding легко получилось декодировать из кодировки windows-1251. Пример кода:
var bytes = await response.Content.ReadAsByteArrayAsync();
Encoding encoding = Portable.Text.Encoding.GetEncoding(1251);
var text = encoding.GetString(bytes, 0, bytes.Length);
Комментариев нет:
Отправить комментарий