In net45
, Encoding.GetEncoding("Shift-JIS")
funktioniert gut, aber unter netstandard
es wirft:Shift-JIS-Codierung für eine netstandard Bibliothek
System.ArgumentException: 'Shift-JIS' wird nicht unterstützt kodiert Namen. Informationen zum Definieren einer benutzerdefinierten Codierung finden Sie in der Dokumentation zur Encoding.RegisterProvider-Methode.
Die Dokumentation es bezieht erwähnt Unterstützung über CodePagesEncodingProvider
für .NET Core-Mutter unter UWP, aber nichts für den allgemeinen Gebrauch mit netstandard
.
Also ist es möglich, Shift-JIS-Codierung innerhalb einer netstandard
-Bibliothek zu verwenden?
CodePagesEncodingProvider wird mit dem System.Text.Encoding.CodePages-Paket geliefert, das nicht Teil des Netzwerkstandards ist (https://github.com/dotnet/corefx/blob/master/pkg/NETStandard.Library/NETStandard.Library.packages. Ziele), aber ist Teil von netcore, also denke ich, die Antwort ist nein, es sei denn, Sie schreiben Ihre eigenen Encoding und EncodingProvider. Der Grund, warum System.Text.Encoding.CodePages nicht Teil von netstandard ist, ist, glaube ich, weil es heute auf Windows API/Ressourcen beruht. –