2015-11-07 2 views
10

Ich muss einige Textdateien für native Zeichen codieren.Encoding.GetEncoding kann nicht in UWP App funktionieren

Encoding.GetEncoding("windows-1254") 

Aber in UWP App, bekam ich diese Ausnahme:

In meinem Windows 8.1 Store App, konnte ich Encoding.GetEncoding() Methode normalerweise verwenden

Zusätzliche Informationen: 'Windows-1254' ist kein unterstützter Kodierungsname Informationen zum Definieren einer benutzerdefinierten Codierung finden Sie in der Dokumentation zur Encoding.RegisterProvider-Methode.

Ich weiß nicht, wie es durch die Verwendung Encoding.RegisterProvider Methode, irgendwelche Ideen arbeiten zu machen?

Antwort

18

Wir müssen den CodePagesEncodingProvider verwenden, um erweiterte Kodierungen zu registrieren, die in diesem spezifischen Provider enthalten sind. Siehe CodePagesEncodingProvider Klasse

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

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

Die .NET Framework-Klassenbibliothek bietet eine statische Eigenschaft P:System.Text.CodePagesEncodingProvider.Instance, das gibt ein EncodingProvider Objekt, das den vollständigen Satz von Codierungen zur Verfügung auf dem Desktop macht .NET Framework-Klassenbibliothek verfügbar für .NET Core Anwendungen.

Der zugehörige Thread in MSDN Forum: Encoding.RegisterProvider -- How to use?

+0

Interessante, weiß nicht, diese Änderung, ich werde es später testen, haben Sie versucht, dass in UWP-App? –

+0

@UniversalHeart Sure, funktionierte gut in UWP App –

+1

Danke, es funktioniert, zu schätzen wissen! Du bist Held :) –