Кодирование.GetEncoding не может работать в приложении UWP

мне нужно закодировать некоторые текстовые файлы для собственных символов.

в моем приложении Windows 8.1 Store я мог бы использовать Encoding.GetEncoding() метод обычно:

Encoding.GetEncoding("windows-1254")

но в приложении UWP я получил это исключение:

дополнительная информация: "windows-1254" не является поддерживаемым именем кодировки. Сведения об определении пользовательской кодировки см. В документации по кодировке.Способ файл registerprovider.

Я не знаю, как заставить его работать с помощью Encoding.RegisterProvider метод, есть идеи?

1 ответов


нам нужно использовать CodePagesEncodingProvider для регистрации расширенных кодировок, включенных в этот конкретный поставщик. См.CodePagesEncodingProvider класс

Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);
Encoding.GetEncoding("windows-1254");

Ref https://msdn.microsoft.com/en-us/library/system.text.encodingprovider(v=vs. 110).aspx

библиотека классов .NET Framework предоставляет одно статическое свойство, P: Система.Текст.CodePagesEncodingProvider.Пример, который возвращает Объект EncodingProvider, который делает доступным полный набор кодировок на рабочем столе .NET Framework библиотеки классов, доступных для .NET Core приложения.

связанный поток в форуме MSDN:кодировка.RegisterProvider -- как использовать?