DecoderFallback クラス

定義

エンコード済み入力バイト シーケンスを出力文字に変換できない場合のために、フォールバックと呼ばれるエラー処理機構を提供します。

public ref class DecoderFallback abstract
public abstract class DecoderFallback
[System.Serializable]
public abstract class DecoderFallback
type DecoderFallback = class
[<System.Serializable>]
type DecoderFallback = class
Public MustInherit Class DecoderFallback
継承
DecoderFallback
派生
属性

注釈

エンコードは、Unicode 文字をエンコードされたバイト シーケンスにマップします。 特定のエンコーディングは、 クラスから派生した型によって表 Encoding されます。 具体的には、文字はエンコード型の メソッドを呼び出すことによってバイト シーケンスにエンコードされ、バイト シーケンスは または メソッドを呼び出すことによって文字配列または文字列にデコードされます Encoding.GetBytes Encoding.GetChars Encoding.GetString

入力バイト シーケンスをエンコードでマップできない場合、デコード操作は失敗する可能性があります。 たとえば、そのシーケンスが ASCIIEncoding U+0000 から U+007F の範囲を超えるコード ポイント値を持つ文字を表している場合、オブジェクトはバイト シーケンスをデコードできません。

デコード変換を実行できない場合、.NET Frameworkフォールバックと呼ばれるエラー処理メカニズムが提供されます。 アプリケーションでは、デコーダー フォールバック.NET Frameworkを使用するか、 クラスと クラスから派生したカスタム デコーダー フォールバック DecoderFallback を作成 DecoderFallbackBuffer できます。

DecoderFallbackと は、すべてのデコード フォールバック ハンドラーの基本クラス DecoderFallbackBuffer .NET Framework。 次の 3 種類のフォールバック処理メカニズムがサポートされています。

  • 最適フォールバック。デコードできない有効な Unicode 文字を同等のおおよその文字にマップします。 たとえば、 クラスに最適なフォールバック ハンドラーは ASCIIEncoding 、持ち込み (U+00C6) を AE (U+0041 + U+0045) にマップできます。 また、1 つのアルファベット (キリル文字など) を別のアルファベット (ラテン語やラテン文字など) に変換するために、最適なフォールバック ハンドラーを実装する場合があります。 この.NET Framework、パブリックに最適なフォールバック実装は提供されません。

  • 置換フォールバック。デコードできない各文字を定義済みの文字列に置き換える。 この.NET Frameworkは、定義済みの置換フォールバック ハンドラーを提供します。 クラスは、デコードできない各バイト シーケンスを疑問符文字 DecoderReplacementFallback ("?"、または U+003F) または REPLACEMENT CHARACTER (U+FFFD) に置き換えます。 コンストラクターの呼び出しで置き換え文字列を指定することで、置換文字列をカスタマイズ DecoderReplacementFallback.DecoderReplacementFallback(String) できます。 代替文字列が出力された後、デコード操作は入力の残りの部分の変換を続行します。

  • 例外フォールバック。バイト シーケンスをデコードできない場合に例外をスローします。 この.NET Frameworkは、定義済みの例外フォールバック ハンドラーを提供します。 クラスは、無効なバイト シーケンスが検出され、デコード操作が終了すると DecoderExceptionFallback DecoderFallbackException をスローします。

カスタム ソリューションを実装する場合は、 クラスの次の抽象メンバーをオーバーライドする必要 DecoderFallback があります。

  • から CreateFallbackBuffer 派生したクラス インスタンスを返す メソッド DecoderFallbackBuffer 。 開発中のフォールバック ハンドラーの種類に応じて、実装はマッピングまたは置換を実行するか、例外をスロー DecoderFallbackBuffer する必要があります。

  • プロパティ MaxCharCount 。フォールバック実装が返す最大文字数を返します。 例外フォールバック ハンドラーの場合、その値は 0 である必要があります。

エンコード、デコード、フォールバックの方法の詳細については、次のページの「文字エンコード」を.NET Framework。

コンストラクター

DecoderFallback()

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

プロパティ

ExceptionFallback

入力バイト シーケンスをデコードできないときに例外をスローするオブジェクトを取得します。

MaxCharCount

派生クラスでオーバーライドされた場合、現在の DecoderFallback オブジェクトが返すことができる最大文字数を取得します。

ReplacementFallback

デコードできない入力バイト シーケンスの代わりに代替文字列を出力するオブジェクトを取得します。

メソッド

CreateFallbackBuffer()

派生クラスでオーバーライドされた場合、DecoderFallbackBuffer クラスの新しいインスタンスを初期化します。

Equals(Object)

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

(継承元 Object)
GetHashCode()

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

(継承元 Object)
GetType()

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

(継承元 Object)
MemberwiseClone()

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

(継承元 Object)
ToString()

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

(継承元 Object)

適用対象

こちらもご覧ください