DecoderFallback Class
Assembly: mscorlib (in mscorlib.dll)
An encoding maps a Unicode character to an encoded sequence of bytes, which can subsequently be transferred to a physical medium, such as a disk, or over a communications link. Characters can be mapped in various ways, and a particular encoding is represented by a type derived from the Encoding class. Specifically, the encoding type's GetBytes method encodes a character to a byte sequence, and the GetChars method decodes a byte sequence to a character.
However, a decoding operation can fail if the input byte sequence cannot be mapped by the encoding. For example, an ASCIIEncoding object cannot decode a byte sequence that yields a character whose code point value is outside the range U+0000 to U+007F.
In cases where an encoding or decoding conversion cannot be performed, the .NET Framework provides a failure-handling mechanism called a fallback. Your code can use predefined .NET Framework encoder and decoder fallbacks, or you can create a custom encoder fallback derived from the EncoderFallback and EncoderFallbackBuffer classes or a custom decoder fallback derived from the DecoderFallback and DecoderFallbackBuffer classes.
The .NET Framework provides two predefined classes that implement different fallback strategies for handling decoding conversion failures. The DecoderReplacementFallback class substitutes a string that you provide in place of any input byte sequence that cannot be converted. After the substitute string is emitted, the decoding operation continues converting the remainder of the input. In contrast, the DecoderExceptionFallback class throws a DecoderFallbackException when an invalid byte sequence is encountered.
System.Text.DecoderFallback
System.Text.DecoderExceptionFallback
System.Text.DecoderReplacementFallback
Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see System Requirements.