Encoding.GetEncoding не может работать в приложении UWP
Мне нужно закодировать некоторые текстовые файлы для родных символов.
В моем приложении Windows 8.1 Store я мог бы использовать Encoding.GetEncoding()
метод обычно:
Encoding.GetEncoding("windows-1254")
Но в приложении UWP я получил это исключение:
Дополнительная информация: "windows-1254" не является поддерживаемым именем кодировки. Для получения информации об определении пользовательской кодировки см. Документацию по методу Encoding.RegisterProvider.
Я не знаю, как заставить это работать с помощью Encoding.RegisterProvider
метод, есть идеи?
1 ответ
Нам нужно использовать CodePagesEncodingProvider для регистрации расширенных кодировок, включенных в этот конкретный поставщик. Смотрите класс CodePagesEncodingProvider
Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);
Encoding.GetEncoding("windows-1254");
Ссылка https://msdn.microsoft.com/en-us/library/system.text.encodingprovider(v=vs.110).aspx
Библиотека классов.NET Framework предоставляет одно статическое свойство, P: System.Text.CodePagesEncodingProvider.Instance, которое возвращает объект EncodingProvider, который делает полный набор кодировок доступным в настольной библиотеке классов.NET Framework доступным для приложений.NET Core.
Связанная тема в форуме MSDN: Encoding.RegisterProvider - Как использовать?