.net core CodePagesEncodingProvider.Instance не добавляет никакой кодировки - PullRequest
0 голосов
/ 14 сентября 2018

Я пытаюсь использовать кодировку windows-1252 в своем приложении .netcore 2.0. и согласно документации мне нужно добавить этот пакет и зарегистрировать его, чтобы иметь возможность использовать эту кодировку. но это не работает, и когда я отлаживаю его, я вижу, что у провайдера есть 0 кодировок

   EncodingProvider provider = CodePagesEncodingProvider.Instance;
   Encoding.RegisterProvider(provider);

enter image description here

1 Ответ

0 голосов
/ 14 сентября 2018

В моем понимании ваш скриншот относится к кешу уже доступной кодировки.Таким образом, по умолчанию кэш пуст.

Чтобы увидеть его сами, используйте этот фрагмент:

// add a spy in visual studio with this :
// ((System.Text.CodePagesEncodingProvider)CodePagesEncodingProvider.Instance)._encodings

Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);
// here the spy should have as value of "Count = 0"

var xx = Encoding.GetEncoding("Windows-1252");
// now the value is "Count = 1"

Этот экземпляр кодировки не поддерживает все стандартные свойства.Некоторые из них бросят NotSupportedException.

Available properties

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...