2015-11-07 13 views
10

ネイティブ文字用のテキストファイルをエンコードする必要があります。私のWindows 8.1ストアアプリでEncoding.GetEncodingはUWPアプリケーションでは機能しません

、私は通常Encoding.GetEncoding()方法使用できます。

Encoding.GetEncoding("windows-1254") 

をしかしUWPアプリで、私はこの例外ました:

追加情報: '窓-1254' をされましたサポートされているエンコード名ではありません。カスタムエンコーディングの定義については、Encoding.RegisterProviderメソッドのドキュメントを参照してください。

私はそれは、任意のアイデアをEncoding.RegisterProvider方法を使用して動作させる方法がわかりませんか?

答えて

18

特定のプロバイダに含まれる拡張エンコードを登録するには、CodePagesEncodingProviderを使用する必要があります。デスクトップ上の 可能なエンコーディングのフルセットを作る EncodingProviderオブジェクトを返します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クラスライブラリは、1つの静的プロパティを提供し、 P:System.Text.CodePagesEncodingProvider.Instanceを参照してください。 .NET Frameworkクラスライブラリ、.NETコア アプリケーションで使用可能。

MSDNフォーラムの関連スレッド:Encoding.RegisterProvider -- How to use?

+0

興味深いが、この変更を知らない、私はあなたがUWPアプリでいることを試してみましたが、後でそれをテストしますか? –

+0

@UniversalHeart確かに、UWPアプリでうまくいきました –

+1

ありがとう、ありがとう、ありがとう!あなたは英雄です:) –

関連する問題