DecoderFallback Třída

Definice

Poskytuje mechanismus pro zpracování selhání, nazývaný Fallback, pro zakódovaný vstupní bajtovou sekvenci, kterou nelze převést na výstupní znak.Provides a failure-handling mechanism, called a fallback, for an encoded input byte sequence that cannot be converted to an output character.

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
Dědičnost
DecoderFallback
Odvozené
Atributy

Poznámky

Kódování mapuje znak Unicode na zakódovaný sekvenci bajtů.An encoding maps a Unicode character to an encoded sequence of bytes. Konkrétní kódování je reprezentované typem, který je odvozen od Encoding třídy.A particular encoding is represented by a type that is derived from the Encoding class. Konkrétně je znak kódovaný do sekvence bajtů voláním metody typu Encoding Encoding.GetBytes a sekvence bajtů je Dekódovaná na pole znaků nebo řetězec voláním Encoding.GetChars Encoding.GetString metody nebo.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.

Operace dekódování může selhat, pokud vstupní bajtovou sekvenci nelze namapovat pomocí kódování.A decoding operation can fail if the input byte sequence cannot be mapped by the encoding. Například ASCIIEncoding objekt nemůže dekódovat sekvenci bajtů, pokud tato sekvence představuje znak, který má hodnotu bodu kódu, která je mimo rozsah U + 0000 až U + 007F.For example, an ASCIIEncoding object cannot decode a byte sequence if that sequence represents a character that has a code point value that is outside the range U+0000 to U+007F.

Když převod dekódování nelze provést, .NET Framework poskytuje mechanismus pro zpracování selhání nazvaný Fallback.When a decoding conversion cannot be performed, the .NET Framework provides a failure-handling mechanism called a fallback. Vaše aplikace může používat předdefinované nouzové služby .NET Framework dekodéry nebo může vytvořit vlastní záložní dekodér odvozený z DecoderFallback tříd a DecoderFallbackBuffer .Your application can use predefined .NET Framework decoder fallbacks, or it can create a custom decoder fallback derived from the DecoderFallback and DecoderFallbackBuffer classes.

DecoderFallback a DecoderFallbackBuffer jsou základní třídy pro všechna dekódování nouzových obslužných rutin v .NET Framework.DecoderFallback and DecoderFallbackBuffer are the base classes for all decoding fallback handlers in the .NET Framework. Podporují následující tři druhy nouzového mechanismu zpracování:They support the following three kinds of fallback handling mechanisms:

  • Nejlépe zajistěte, aby se namapovaly platné znaky Unicode, které se nedají dekódovat na přibližný ekvivalent.Best-fit fallback, which maps valid Unicode characters that cannot be decoded to an approximate equivalent. Například nejvhodnější záložní obslužná rutina pro ASCIIEncoding třídu může mapovat Æ (u + 00C6) na 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). Může být také implementována vhodná záložní obslužná rutina pro přepis jedné abecedy (například cyrilice) do jiné (například Latin nebo Roman).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 neposkytuje žádné veřejné osvědčené implementace, které by vyhovovaly.The .NET Framework does not provide any public best-fit fallback implementations.

  • Náhradní Fallback, který nahradí každý znak, který nelze dekódovat s předdefinovaným řetězcem.Replacement fallback, which replaces each character that cannot be decoded with a predefined string. .NET Framework poskytuje předdefinovanou náhradní záložní obslužnou rutinu.The .NET Framework provides a predefined replacement fallback handler. DecoderReplacementFallbackTřída nahradí každou sekvenci bajtů, kterou nelze dekódovat pomocí znaku otazníku ("?" nebo U + 003F), nebo nahrazujícího znaku (U + FFFD).The DecoderReplacementFallback class replaces each byte sequence that cannot be decoded with a question mark character ("?", or U+003F) or a REPLACEMENT CHARACTER (U+FFFD). Náhradní řetězec lze přizpůsobit zadáním náhrady za volání DecoderReplacementFallback.DecoderReplacementFallback(String) konstruktoru.You can customize the replacement string by specifying a substitute in the call to the DecoderReplacementFallback.DecoderReplacementFallback(String) constructor. Po vygenerování náhradního řetězce pokračuje operace dekódování na převod zbývajícího vstupu.After the substitute string is emitted, the decoding operation continues converting the remainder of the input.

  • Záložní výjimka, která vyvolá výjimku, když bajtovou sekvenci nelze dekódovat.Exception fallback, which throws an exception when a byte sequence cannot be decoded. .NET Framework poskytuje předdefinovanou záložní obslužnou rutinu výjimky.The .NET Framework provides a predefined exception fallback handler. DecoderExceptionFallbackTřída vyvolá výjimku DecoderFallbackException , když je zjištěna neplatná sekvence bajtů a operace dekódování skončí.The DecoderExceptionFallback class throws a DecoderFallbackException when an invalid byte sequence is encountered, and the decoding operation terminates.

Pokud se rozhodnete implementovat vlastní řešení, je nutné přepsat následující abstraktní členy DecoderFallback třídy:If you choose to implement a custom solution, you must override the following abstract members of the DecoderFallback class:

  • CreateFallbackBufferMetoda, která vrátí instanci třídy odvozenou z DecoderFallbackBuffer .The CreateFallbackBuffer method, which returns a class instance derived from DecoderFallbackBuffer. V závislosti na typu záložní obslužné rutiny, kterou vyvíjíte, DecoderFallbackBuffer je implementace zodpovědná za provedení mapování nebo nahrazení nebo pro vyvolání výjimky.Depending on the type of fallback handler that you are developing, the DecoderFallbackBuffer implementation is responsible for performing the mapping or replacement, or for throwing the exception.

  • MaxCharCountVlastnost, která vrací maximální počet znaků, které může záložní implementace vrátit.The MaxCharCount property, which returns the maximum number of characters that the fallback implementation can return. U záložní obslužné rutiny výjimky má její hodnota hodnotu nula.For an exception fallback handler, its value should be zero.

Další informace o možnostech kódování, dekódování a záložní strategie naleznete v tématu kódování znaků v .NET Framework.For more information about encoding, decoding, and fallback strategies, see Character Encoding in the .NET Framework.

Konstruktory

DecoderFallback()

Inicializuje novou instanci DecoderFallback třídy.Initializes a new instance of the DecoderFallback class.

Vlastnosti

ExceptionFallback

Získá objekt, který vyvolá výjimku, když vstupní bajtovou sekvenci nelze dekódovat.Gets an object that throws an exception when an input byte sequence cannot be decoded.

MaxCharCount

Při přepsání v odvozené třídě získá maximální počet znaků, které DecoderFallback může aktuální objekt vracet.When overridden in a derived class, gets the maximum number of characters the current DecoderFallback object can return.

ReplacementFallback

Získá objekt, který vytvoří výstup náhradního řetězce namísto vstupní sekvence bajtů, kterou nelze dekódovat.Gets an object that outputs a substitute string in place of an input byte sequence that cannot be decoded.

Metody

CreateFallbackBuffer()

Při přepsání v odvozené třídě inicializuje novou instanci DecoderFallbackBuffer třídy.When overridden in a derived class, initializes a new instance of the DecoderFallbackBuffer class.

Equals(Object)

Určí, zda se zadaný objekt rovná aktuálnímu objektu.Determines whether the specified object is equal to the current object.

(Zděděno od Object)
GetHashCode()

Slouží jako výchozí funkce hash.Serves as the default hash function.

(Zděděno od Object)
GetType()

Získá Type aktuální instanci.Gets the Type of the current instance.

(Zděděno od Object)
MemberwiseClone()

Vytvoří kopii aktuálního seznamu Object .Creates a shallow copy of the current Object.

(Zděděno od Object)
ToString()

Vrátí řetězec, který představuje aktuální objekt.Returns a string that represents the current object.

(Zděděno od Object)

Platí pro

Viz také