EncoderFallback EncoderFallback EncoderFallback EncoderFallback Class

定義

入力文字をエンコード済み出力バイト シーケンスに変換できない場合のために、フォールバックと呼ばれるエラー処理機構を提供します。Provides a failure-handling mechanism, called a fallback, for an input character that cannot be converted to an encoded output byte sequence.

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

注釈

エンコーディングは、Unicode 文字をエンコードされたバイトシーケンスにマップします。An encoding maps a Unicode character to an encoded sequence of bytes. 特定のエンコーディングは、 Encodingクラスから派生した型によって表されます。A particular encoding is represented by a type that is derived from the Encoding class. 具体的には、文字はエンコーディングの型のEncoding.GetBytesメソッドを呼び出すことによってバイトシーケンスにエンコードされ、バイトシーケンスはメソッドEncoding.GetCharsまたはEncoding.GetStringメソッドを呼び出すことによって、文字配列または文字列にデコードされます。Specifically, a character is encoded to a byte sequence by calling the encoding type's Encoding.GetBytes method, and the byte sequence is decoded to a character array or a string by calling the Encoding.GetChars or Encoding.GetString method.

エンコーディングで入力文字を表現できない場合、エンコーディング操作が失敗することがあります。An encoding operation can fail if the input character cannot be represented by the encoding. たとえば、 ASCIIEncodingオブジェクトは、Unicode コードポイント値が u + 0000 ~ u + 007f の範囲外にある文字をエンコードすることはできません。For example, an ASCIIEncoding object cannot encode a character whose Unicode code point value is outside the range U+0000 to U+007F.

エンコード変換を実行できない場合、.NET Framework はフォールバックと呼ばれるエラー処理機構を提供します。When an encoding conversion cannot be performed, the .NET Framework provides a failure-handling mechanism called a fallback. アプリケーションでは、定義済みの .NET Framework エンコーダーフォールバックを使用することも、クラスEncoderFallbackおよびEncoderFallbackBufferクラスから派生したカスタムエンコーダーフォールバックを作成することもできます。Your application can use predefined .NET Framework encoder fallbacks, or it can create a custom encoder fallback derived from the EncoderFallback and EncoderFallbackBuffer classes.

EncoderFallbackEncoderFallbackBufferは、.NET Framework 内のすべてのエンコードフォールバックハンドラーの基本クラスです。EncoderFallback and EncoderFallbackBuffer are the base classes for all encoding fallback handlers in the .NET Framework. 次の3種類のフォールバック処理機構がサポートされています。They support the following three kinds of fallback handling mechanisms:

  • 最適フォールバック。エンコードできない有効な Unicode 文字を、ほぼ同等のものにマップします。Best-fit fallback, which maps valid Unicode characters that cannot be encoded to an approximate equivalent. たとえば、 ASCIIEncodingクラスの最適フォールバックハンドラーは、Æ (u + 00c6) を AE (u + 0041 という + u + 0045) にマップする場合があります。For example, a best-fit fallback handler for the ASCIIEncoding class might map Æ (U+00C6) to AE (U+0041 + U+0045). 最適フォールバックハンドラーは、1つのアルファベット (キリル文字など) を翻字に実装することもできます (ラテンやローマなど)。A best-fit fallback handler might also be implemented to transliterate one alphabet (such as Cyrillic) to another (such as Latin or Roman). .NET Framework では、パブリックに最適なフォールバック実装は提供されません。The .NET Framework does not provide any public best-fit fallback implementations.

  • 置換フォールバック。事前に定義された文字列でエンコードできない各文字を置き換えます。Replacement fallback, which replaces each character that cannot be encoded with a predefined string. .NET Framework には、定義済みの置換フォールバックハンドラーが用意されています。The .NET Framework provides a predefined replacement fallback handler. クラスEncoderReplacementFallbackは、デコードできない各バイトシーケンスを疑問符文字 ("?"、u + 003f)、または置換文字 (u + fffd) で置き換えます。The EncoderReplacementFallback class replaces each byte sequence that cannot be decoded with a question mark character ("?", or U+003F) or a REPLACEMENT CHARACTER (U+FFFD). 置換文字列をカスタマイズするには、コンストラクターのEncoderReplacementFallback.EncoderReplacementFallback(String)呼び出しで代替文字列を指定します。You can customize the replacement string by specifying a substitute in the call to the EncoderReplacementFallback.EncoderReplacementFallback(String) constructor. 代替文字列が生成された後、エンコーディング操作で残りの入力の変換が続行されます。After the substitute string is emitted, the encoding operation continues converting the remainder of the input.

  • 例外フォールバック。文字をエンコードできない場合に例外をスローします。Exception fallback, which throws an exception when a character cannot be encoded. .NET Framework には、定義済みの例外フォールバックハンドラーが用意されています。The .NET Framework provides a predefined exception fallback handler. クラスEncoderExceptionFallbackは、無効EncoderFallbackExceptionな文字が見つかったときにをスローし、エンコーディング操作を終了します。The EncoderExceptionFallback class throws an EncoderFallbackException when an invalid character is encountered, and the encoding operation terminates.

カスタムソリューションを実装する場合は、 EncoderFallbackクラスの次の抽象メンバーをオーバーライドする必要があります。If you choose to implement a custom solution, you must override the following abstract members of the EncoderFallback class:

  • メソッド。からEncoderFallbackBuffer派生したクラスのインスタンスを返します。 CreateFallbackBufferThe CreateFallbackBuffer method, which returns a class instance derived from EncoderFallbackBuffer. 開発しているフォールバックハンドラーの種類に応じて、のEncoderFallbackBuffer実装は、マッピングや置換を実行したり、例外をスローしたりする役割を担います。Depending on the type of fallback handler that you are developing, the EncoderFallbackBuffer implementation is responsible for performing the mapping or replacement, or for throwing the exception.

  • MaxCharCountプロパティ。フォールバック実装が返すことができる最大文字数を返します。The MaxCharCount property, which returns the maximum number of characters that the fallback implementation can return. 例外フォールバックハンドラーの場合、その値は0にする必要があります。For an exception fallback handler, its value should be zero.

エンコード、デコード、フォールバック戦略の詳細については、「 .NET Framework の文字エンコード」を参照してください。For more information about encoding, decoding, and fallback strategies, see Character Encoding in the .NET Framework.

コンストラクター

EncoderFallback() EncoderFallback() EncoderFallback() EncoderFallback()

EncoderFallback クラスの新しいインスタンスを初期化します。Initializes a new instance of the EncoderFallback class.

プロパティ

ExceptionFallback ExceptionFallback ExceptionFallback ExceptionFallback

入力文字をエンコードできない場合に例外をスローするオブジェクトを取得します。Gets an object that throws an exception when an input character cannot be encoded.

MaxCharCount MaxCharCount MaxCharCount MaxCharCount

派生クラスでオーバーライドされた場合、現在の EncoderFallback オブジェクトが返すことができる最大文字数を取得します。When overridden in a derived class, gets the maximum number of characters the current EncoderFallback object can return.

ReplacementFallback ReplacementFallback ReplacementFallback ReplacementFallback

エンコードできない入力文字の代わりに代替文字列を出力するオブジェクトを取得します。Gets an object that outputs a substitute string in place of an input character that cannot be encoded.

メソッド

CreateFallbackBuffer() CreateFallbackBuffer() CreateFallbackBuffer() CreateFallbackBuffer()

派生クラスでオーバーライドされた場合、EncoderFallbackBuffer クラスの新しいインスタンスを初期化します。When overridden in a derived class, initializes a new instance of the EncoderFallbackBuffer class.

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

指定したオブジェクトが、現在のオブジェクトと等しいかどうかを判断します。Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

既定のハッシュ関数として機能します。Serves as the default hash function.

(Inherited from Object)
GetType() GetType() GetType() GetType()

現在のインスタンスの Type を取得します。Gets the Type of the current instance.

(Inherited from Object)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

現在の Object の簡易コピーを作成します。Creates a shallow copy of the current Object.

(Inherited from Object)
ToString() ToString() ToString() ToString()

現在のオブジェクトを表す文字列を返します。Returns a string that represents the current object.

(Inherited from Object)

適用対象

こちらもご覧ください