次の方法で共有


EncodingProvider クラス

定義

特定のプラットフォームで利用できないエンコードを提供する、エンコーディング プロバイダーの基底クラスを提供します。

public ref class EncodingProvider abstract
public abstract class EncodingProvider
[System.Runtime.InteropServices.ComVisible(true)]
public abstract class EncodingProvider
type EncodingProvider = class
[<System.Runtime.InteropServices.ComVisible(true)>]
type EncodingProvider = class
Public MustInherit Class EncodingProvider
継承
EncodingProvider
派生
属性

注釈

エンコード プロバイダーは、特定のターゲット プラットフォームで使用できないエンコードを提供します。

.NET Frameworkでは、多数の文字エンコードとコード ページがサポートされています。 メソッドを呼び出すことで、.NET Frameworkで使用できるエンコードの完全な一覧をEncoding.GetEncodings取得できます。 一方、.NET Core では、既定では次のエンコーディングのみがサポートされています。

  • プロパティによって Encoding.ASCII 返される ASCII (コード ページ 20127)。

  • ISO-8859-1 (コード ページ 28591)。

  • プロパティによって Encoding.UTF7 返される UTF-7 (コード ページ 65000)。

  • プロパティによって Encoding.UTF8 返される UTF-8 (コード ページ 65001)。

  • プロパティによって Unicode 返される UTF-16 および UTF-16LE (コード ページ 1200)。

  • UTF-16BE (コード ページ 1201)、値 が の または UnicodeEncoding.UnicodeEncoding(Boolean, Boolean) コンストラクターをtrueUnicodeEncoding.UnicodeEncoding(Boolean, Boolean)bigEndian呼び出すことによってインスタンス化されます。

  • プロパティによって Encoding.UTF32 返される UTF-32 および UTF-32LE (コード ページ 12000)。

  • UTF-32BE (コード ページ 12001) は、パラメーターを持つコンストラクターをUTF32Encoding呼び出し、メソッド呼び出しで のtrue値を指定することによってインスタンス化bigEndianされます。

.NET Framework 4.6 以降では、 は基本クラスであり、EncodingProviderそれ以外の場合は使用できないエンコーディングを.NET Frameworkで使用できます。 これには、次の手順が含まれます。

  1. と の EncodingProvider 2 つの抽象GetEncodingオーバーロードをオーバーライドする のサブクラスを定義しますGetEncoding(String)GetEncoding(Int32)。 これらのオーバーロードは、コード ページ識別子と名前によって、サポートされていないエンコードを返します。 メソッドが引数 0 で呼び出される場合 GetEncoding(Int32) は、既定のエンコードを返すこともできます。

  2. 必要に応じて、仮想 GetEncoding(Int32, EncoderFallback, DecoderFallback) メソッドと GetEncoding(String, EncoderFallback, DecoderFallback) メソッドをオーバーライドできます。 基底クラスは既定の実装を提供するため、ほとんどの場合、これは必要ありません。

  3. オブジェクトによって EncodingProvider 提供されるエンコーディングを共通言語ランタイムで使用できるようにするには、 インスタンス Encoding.RegisterProviderEncodingProvider メソッドに渡します。

  4. オーバーロードを Encoding.GetEncoding 呼び出してエンコードを取得します。 メソッドは Encoding.GetEncoding 、 を EncodingProvider.GetEncoding 呼び出して、要求されたエンコードを指定できるかどうかを判断します。

.NET Framework クラス ライブラリには、CodePagesEncodingProvider.Instanceデスクトップ .NET Framework クラス ライブラリで使用できるエンコーディングの完全なセットを .NET Core アプリケーションで使用できるようにするオブジェクトを返す EncodingProvider 1 つの静的プロパティ が用意されています。 さらに、 クラスから派生して、独自の EncodingProvider エンコーディングを使用できるようにします。

コンストラクター

EncodingProvider()

EncodingProvider クラスの新しいインスタンスを初期化します。

メソッド

Equals(Object)

指定されたオブジェクトが現在のオブジェクトと等しいかどうかを判断します。

(継承元 Object)
GetEncoding(Int32)

指定したコード ページ ID に関連付けられたエンコーディングを返します。

GetEncoding(Int32, EncoderFallback, DecoderFallback)

指定したコード ページ ID に関連付けられたエンコーディングを返します。 パラメーターには、エンコードできない文字とデコードできないバイト シーケンスのためのエラー ハンドラーを指定します。

GetEncoding(String)

指定した名前のエンコードを返します。

GetEncoding(String, EncoderFallback, DecoderFallback)

指定した名前に関連付けられたエンコードを返します。 パラメーターには、エンコードできない文字とデコードできないバイト シーケンスのためのエラー ハンドラーを指定します。

GetEncodings()

EncodingProvider によってサポートされているすべてのエンコーディングを格納する配列を返します。

GetHashCode()

既定のハッシュ関数として機能します。

(継承元 Object)
GetType()

現在のインスタンスの Type を取得します。

(継承元 Object)
MemberwiseClone()

現在の Object の簡易コピーを作成します。

(継承元 Object)
ToString()

現在のオブジェクトを表す文字列を返します。

(継承元 Object)

適用対象

こちらもご覧ください