2015-11-07 20 views
10

Potrzebuję kodować niektóre pliki tekstowe dla znaków natywnych.Kodowanie.GetEncoding nie działa w aplikacji UWP

W moim systemie Windows 8.1 App Store można używać Encoding.GetEncoding() metody normalnie;

Encoding.GetEncoding("windows-1254") 

Ale w UWP aplikacji, mam ten wyjątek:

Informacje dodatkowe: 'windows-1254' jest nie jest obsługiwaną nazwą kodowania. Informacje na temat definiowania niestandardowego kodowania znajdują się w dokumentacji metody Encoding.RegisterProvider.

nie wiem w jaki sposób, aby pracować przy użyciu Encoding.RegisterProvider metodę, jakieś pomysły?

Odpowiedz

18

Musimy użyć CodePagesEncodingProvider, aby zarejestrować rozszerzone kodowania zawarte w tym konkretnym dostawcy. Zobacz CodePagesEncodingProvider Klasa

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

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

Framework Class Library NET zapewnia jedną właściwość statyczna, P:System.Text.CodePagesEncodingProvider.Instance, która zwraca obiekt EncodingProvider sprawia, że ​​cały zestaw kodowania dostępnych na pulpicie Biblioteka klasy .NET Framework dostępna dla aplikacji .NET Core .

Odnośne wątek w MSDN forum: Encoding.RegisterProvider -- How to use?

+0

Ciekawe, nie wiem tę zmianę, będę go przetestować później próbowałeś że UWP aplikacji? –

+0

@UniversalHeart Oczywiście, działało dobrze w aplikacji UWP –

+1

Dziękuję, działa, doceń! Jesteś bohaterem :) –

Powiązane problemy