EncodingProvider.GetEncoding メソッド

定義

エンコードを返します。

オーバーロード

名前 説明
GetEncoding(Int32)

指定したコード ページ識別子に関連付けられているエンコードを返します。

GetEncoding(String)

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

GetEncoding(Int32, EncoderFallback, DecoderFallback)

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

GetEncoding(String, EncoderFallback, DecoderFallback)

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

GetEncoding(Int32)

指定したコード ページ識別子に関連付けられているエンコードを返します。

public:
 abstract System::Text::Encoding ^ GetEncoding(int codepage);
public abstract System.Text.Encoding GetEncoding(int codepage);
abstract member GetEncoding : int -> System.Text.Encoding
Public MustOverride Function GetEncoding (codepage As Integer) As Encoding

パラメーター

codepage
Int32

要求されたエンコードのコード ページ識別子。

返品

指定したコード ページに関連付けられているエンコード。または、このEncodingProvidercodepageに対応する有効なエンコードを返すことができない場合にnullします。

注釈

呼び出し側への注意

このメソッドは 、Encoding.GetEncoding(Int32) メソッドによって呼び出されます。 ユーザー コードから直接呼び出すべきではありません。

注意 (実装者)

GetEncoding(Int32) メソッドをオーバーライドして、EncodingProvider サブクラスでサポートされているエンコーディングを返します。 ユーザー コードが GetEncoding(Int32) メソッドを呼び出してエンコードを取得しようとすると、メソッドは、有効なエンコードを返すまで、登録されているすべてのエンコード プロバイダーに codepage 識別子を渡します。 有効なエンコードが返されない場合、 GetEncoding(Int32) メソッドは、コード ページ識別子が codepageされているキャッシュされたエンコードの取得を試みます。 このため、 codepage がサポートするエンコーディングのコード ページ識別子でない場合、メソッドは nullを返す必要があります。例外をスローしないでください。

注意 (呼び出し元)

このメソッドは、 GetEncoding(Int32) メソッドによって呼び出されます。 ユーザー コードから直接呼び出すべきではありません。

こちらもご覧ください

適用対象

GetEncoding(String)

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

public:
 abstract System::Text::Encoding ^ GetEncoding(System::String ^ name);
public abstract System.Text.Encoding GetEncoding(string name);
abstract member GetEncoding : string -> System.Text.Encoding
Public MustOverride Function GetEncoding (name As String) As Encoding

パラメーター

name
String

要求されたエンコードの名前。

返品

指定した名前に関連付けられているエンコード。または、このEncodingProvidernameに対応する有効なエンコードを返すことができない場合にnullします。

注釈

継承者へのメモ

getEncoding(String) メソッドをオーバーライドして、EncodingProvider サブクラスでサポートされているエンコーディングを返します。 ユーザー コードが GetEncoding(String) メソッドを呼び出してエンコードを取得しようとすると、メソッドは有効なエンコードを返すまで、登録されているすべてのエンコード プロバイダーに name 引数を渡します。 有効なエンコードが返されない場合、 GetEncoding(String) メソッドは、 name名前のキャッシュされたエンコードの取得を試みます。 このため、 name がサポートするエンコーディングの名前でない場合、メソッドは nullを返す必要があります。 メソッドが例外をスローする唯一のケースは、 namenull場合です。

呼び出し側への注意

このメソッドは 、Encoding.GetEncoding(String) メソッドによって呼び出されます。 ユーザー コードから直接呼び出すべきではありません。

注意 (実装者)

GetEncoding(String) メソッドをオーバーライドして、EncodingProvider サブクラスでサポートされているエンコーディングを返します。 ユーザー コードが GetEncoding(String) メソッドを呼び出してエンコードを取得しようとすると、メソッドは有効なエンコードを返すまで、登録されているすべてのエンコード プロバイダーに name 引数を渡します。 有効なエンコードが返されない場合、 GetEncoding(String) メソッドは、名前が nameキャッシュされたエンコードの取得を試みます。 このため、 name がサポートするエンコーディングの名前でない場合、メソッドは nullを返す必要があります。 メソッドが例外をスローする唯一のケースは、 namenull場合です。

注意 (呼び出し元)

このメソッドは、 GetEncoding(String) メソッドによって呼び出されます。 ユーザー コードから直接呼び出すべきではありません。

こちらもご覧ください

適用対象

GetEncoding(Int32, EncoderFallback, DecoderFallback)

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

public:
 virtual System::Text::Encoding ^ GetEncoding(int codepage, System::Text::EncoderFallback ^ encoderFallback, System::Text::DecoderFallback ^ decoderFallback);
public virtual System.Text.Encoding GetEncoding(int codepage, System.Text.EncoderFallback encoderFallback, System.Text.DecoderFallback decoderFallback);
abstract member GetEncoding : int * System.Text.EncoderFallback * System.Text.DecoderFallback -> System.Text.Encoding
override this.GetEncoding : int * System.Text.EncoderFallback * System.Text.DecoderFallback -> System.Text.Encoding
Public Overridable Function GetEncoding (codepage As Integer, encoderFallback As EncoderFallback, decoderFallback As DecoderFallback) As Encoding

パラメーター

codepage
Int32

要求されたエンコードのコード ページ識別子。

encoderFallback
EncoderFallback

このエンコードで文字をエンコードできない場合にエラー処理プロシージャを提供するオブジェクト。

decoderFallback
DecoderFallback

バイト シーケンスをこのエンコードでデコードできない場合にエラー処理プロシージャを提供するオブジェクト。

返品

指定したコード ページに関連付けられているエンコード。または、このEncodingProvidercodepageに対応する有効なエンコードを返すことができない場合にnullします。

注釈

encoderFallbackパラメーターとdecoderFallback パラメーターは、エンコーダーが文字をバイトシーケンスに変換できない場合、またはデコーダーがバイトシーケンスを文字に変換できない場合に使用されるフォールバック戦略を定義するオブジェクトです。 .NET Framework には、次のフォールバック メカニズムが用意されています。

  • 例外フォールバック。 encoderFallback引数がEncoderExceptionFallbackのインスタンスであるか、decoderExceptionFallback引数がDecoderExceptionFallbackのインスタンスである場合、エンコード メソッドは文字をエンコードできない場合に例外をスローし、デコード メソッドはバイト シーケンスをデコードできない場合に例外をスローします。

  • 代替フォールバック。 encoderFallback引数がEncoderReplacementFallbackのインスタンスであるか、decoderExceptionFallback引数がDecoderReplacementFallbackのインスタンスである場合、エンコードおよびデコードメソッドは、エンコードできない文字とバイト シーケンスをデコードできない文字の置換文字列に置き換えます。 パラメーターなしのコンストラクターを呼び出して置換フォールバック オブジェクトをインスタンス化した場合、置換文字は "?"" になります。 EncoderReplacementFallback.EncoderReplacementFallback(String)またはDecoderReplacementFallback.DecoderReplacementFallback(String)コンストラクターを呼び出す場合は、置換文字列を指定できます。

  • 最適なフォールバック。 EncoderFallbackまたはDecoderFallback クラスから派生して、最適な置換メカニズムを実装できます。

注意 (継承者)

このメソッドの呼び出しでは、 GetEncoding(Int32) メソッドの実装が使用されるため、オーバーライドする必要はありません。 ユーザー コードが GetEncoding(Int32, EncoderFallback, DecoderFallback) メソッドを呼び出してエンコードを取得しようとすると、メソッドは、有効なエンコードを返すまで、登録されているすべてのエンコード プロバイダーに codepage 識別子を渡します。 有効なエンコードが返されない場合、 GetEncoding(Int32) メソッドは、コード ページ識別子が codepageされているキャッシュされたエンコードの取得を試みます。 このため、GetEncoding(Int32, EncoderFallback, DecoderFallback) メソッドをオーバーライドすることを選択した場合、codepageがサポートするエンコーディングのコード ページ識別子でない場合、オーバーライドはnullを返す必要があります。例外はスローされません。

注意 (呼び出し元)

このメソッドは、 GetEncoding(Int32, EncoderFallback, DecoderFallback) メソッドによって呼び出されます。 ユーザー コードから直接呼び出すべきではありません。

こちらもご覧ください

適用対象

GetEncoding(String, EncoderFallback, DecoderFallback)

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

public:
 virtual System::Text::Encoding ^ GetEncoding(System::String ^ name, System::Text::EncoderFallback ^ encoderFallback, System::Text::DecoderFallback ^ decoderFallback);
public virtual System.Text.Encoding GetEncoding(string name, System.Text.EncoderFallback encoderFallback, System.Text.DecoderFallback decoderFallback);
abstract member GetEncoding : string * System.Text.EncoderFallback * System.Text.DecoderFallback -> System.Text.Encoding
override this.GetEncoding : string * System.Text.EncoderFallback * System.Text.DecoderFallback -> System.Text.Encoding
Public Overridable Function GetEncoding (name As String, encoderFallback As EncoderFallback, decoderFallback As DecoderFallback) As Encoding

パラメーター

name
String

優先エンコードの名前。

encoderFallback
EncoderFallback

このエンコードで文字をエンコードできない場合にエラー処理プロシージャを提供するオブジェクト。

decoderFallback
DecoderFallback

バイト シーケンスを現在のエンコードでデコードできない場合にエラー処理プロシージャを提供するオブジェクト。

返品

指定した名前に関連付けられているエンコード。または、このEncodingProvidernameに対応する有効なエンコードを返すことができない場合にnullします。

注釈

encoderFallbackパラメーターとdecoderFallback パラメーターは、エンコーダーが文字をバイトシーケンスに変換できない場合、またはデコーダーがバイトシーケンスを文字に変換できない場合に使用されるフォールバック戦略を定義するオブジェクトです。 .NETには、次のフォールバック メカニズムが用意されています。

  • 例外フォールバック。 encoderFallback引数がEncoderExceptionFallbackのインスタンスであるか、decoderExceptionFallback引数がDecoderExceptionFallbackのインスタンスである場合、エンコード メソッドは文字をエンコードできない場合に例外をスローし、デコード メソッドはバイト シーケンスをデコードできない場合に例外をスローします。

  • 代替フォールバック。 encoderFallback引数がEncoderReplacementFallbackのインスタンスであるか、decoderExceptionFallback引数がDecoderReplacementFallbackのインスタンスである場合、エンコードおよびデコードメソッドは、エンコードできない文字とバイト シーケンスをデコードできない文字の置換文字列に置き換えます。 パラメーターなしのコンストラクターを呼び出して置換フォールバック オブジェクトをインスタンス化した場合、置換文字は "?"" になります。 EncoderReplacementFallback.EncoderReplacementFallback(String)またはDecoderReplacementFallback.DecoderReplacementFallback(String)コンストラクターを呼び出す場合は、置換文字列を指定できます。

  • 最適なフォールバック。 EncoderFallbackまたはDecoderFallback クラスから派生して、最適な置換メカニズムを実装できます。

注意 (呼び出し元)

このメソッドは、 GetEncoding(String, EncoderFallback, DecoderFallback) メソッドによって呼び出されます。 ユーザー コードから直接呼び出すべきではありません。

こちらもご覧ください

適用対象