DecoderFallback Classe

Definição

Fornece um mecanismo de tratamento de falha, chamado um fallback, para uma sequência de bytes codificados de entrada que não pode ser convertida em um caractere de saída.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
[System.Serializable]
public abstract class DecoderFallback
type DecoderFallback = class
Public MustInherit Class DecoderFallback
Herança
DecoderFallback
Derivado
Atributos

Comentários

Uma codificação mapeia um caractere Unicode para uma sequência codificada de bytes.An encoding maps a Unicode character to an encoded sequence of bytes. Uma codificação específica é representada por um tipo que é derivado da classe Encoding.A particular encoding is represented by a type that is derived from the Encoding class. Especificamente, um caractere é codificado para uma sequência de bytes chamando o método de Encoding.GetBytes do tipo de codificação e a sequência de bytes é decodificada para uma matriz de caracteres ou uma cadeia de caracteres chamando o método Encoding.GetChars ou 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.

Uma operação de decodificação poderá falhar se a sequência de bytes de entrada não puder ser mapeada pela codificação.A decoding operation can fail if the input byte sequence cannot be mapped by the encoding. Por exemplo, um objeto ASCIIEncoding não pode decodificar uma sequência de bytes se essa sequência representa um caractere que tem um valor de ponto de código que está fora do intervalo de 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.

Quando uma conversão de decodificação não pode ser executada, o .NET Framework fornece um mecanismo de tratamento de falhas chamado de fallback.When a decoding conversion cannot be performed, the .NET Framework provides a failure-handling mechanism called a fallback. Seu aplicativo pode usar fallbacks predefinidos de .NET Framework decodificador ou pode criar um fallback de decodificador personalizado derivado das classes DecoderFallback e 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 e DecoderFallbackBuffer são as classes base para todos os manipuladores de decodificação de fallback no .NET Framework.DecoderFallback and DecoderFallbackBuffer are the base classes for all decoding fallback handlers in the .NET Framework. Eles dão suporte aos três tipos de mecanismos de tratamento de fallback a seguir:They support the following three kinds of fallback handling mechanisms:

  • Melhor ajuste de fallback, que mapeia caracteres Unicode válidos que não podem ser decodificados para um equivalente aproximado.Best-fit fallback, which maps valid Unicode characters that cannot be decoded to an approximate equivalent. Por exemplo, um manipulador de fallback de melhor ajuste para a classe ASCIIEncoding pode mapear Æ (U + 00C6) para 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). Um manipulador de fallback de melhor ajuste também pode ser implementado para transliteração de um alfabeto (como cirílico) para outro (como Latin ou Romano).A best-fit fallback handler might also be implemented to transliterate one alphabet (such as Cyrillic) to another (such as Latin or Roman). O .NET Framework não fornece nenhuma implementação de fallback de melhor ajuste pública.The .NET Framework does not provide any public best-fit fallback implementations.

  • Fallback de substituição, que substitui cada caractere que não pode ser decodificado por uma cadeia de caracteres predefinida.Replacement fallback, which replaces each character that cannot be decoded with a predefined string. O .NET Framework fornece um manipulador de fallback de substituição predefinido.The .NET Framework provides a predefined replacement fallback handler. A classe DecoderReplacementFallback substitui cada sequência de bytes que não pode ser decodificada por um caractere de ponto de interrogação ("?" ou U + 003F) ou um caractere de substituição (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). Você pode personalizar a cadeia de caracteres de substituição especificando um substituto na chamada para o construtor de DecoderReplacementFallback.DecoderReplacementFallback(String).You can customize the replacement string by specifying a substitute in the call to the DecoderReplacementFallback.DecoderReplacementFallback(String) constructor. Depois que a cadeia de caracteres substituta é emitida, a operação de decodificação continua convertendo o restante da entrada.After the substitute string is emitted, the decoding operation continues converting the remainder of the input.

  • Fallback de exceção, que gera uma exceção quando uma sequência de bytes não pode ser decodificada.Exception fallback, which throws an exception when a byte sequence cannot be decoded. O .NET Framework fornece um manipulador de fallback de exceção predefinido.The .NET Framework provides a predefined exception fallback handler. A classe DecoderExceptionFallback gera uma DecoderFallbackException quando uma sequência de bytes inválida é encontrada e a operação de decodificação é encerrada.The DecoderExceptionFallback class throws a DecoderFallbackException when an invalid byte sequence is encountered, and the decoding operation terminates.

Se você optar por implementar uma solução personalizada, deverá substituir os seguintes membros abstratos da classe DecoderFallback:If you choose to implement a custom solution, you must override the following abstract members of the DecoderFallback class:

  • O método CreateFallbackBuffer, que retorna uma instância de classe derivada de DecoderFallbackBuffer.The CreateFallbackBuffer method, which returns a class instance derived from DecoderFallbackBuffer. Dependendo do tipo de manipulador de fallback que você está desenvolvendo, a implementação de DecoderFallbackBuffer é responsável por executar o mapeamento ou a substituição ou para lançar a exceção.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.

  • A propriedade MaxCharCount, que retorna o número máximo de caracteres que a implementação de fallback pode retornar.The MaxCharCount property, which returns the maximum number of characters that the fallback implementation can return. Para um manipulador de fallback de exceção, seu valor deve ser zero.For an exception fallback handler, its value should be zero.

Para obter mais informações sobre codificação, decodificação e estratégias de fallback, consulte codificação de caracteres no .NET Framework.For more information about encoding, decoding, and fallback strategies, see Character Encoding in the .NET Framework.

Construtores

DecoderFallback()

Inicializa uma nova instância da classe DecoderFallback.Initializes a new instance of the DecoderFallback class.

Propriedades

ExceptionFallback

Obtém um objeto que gera uma exceção quando uma sequência de bytes de entrada não pode ser decodificada.Gets an object that throws an exception when an input byte sequence cannot be decoded.

MaxCharCount

Quando substituído em uma classe derivada, obtém o número máximo de caracteres que o objeto DecoderFallback atual pode retornar.When overridden in a derived class, gets the maximum number of characters the current DecoderFallback object can return.

ReplacementFallback

Obtém um objeto que gera uma cadeia de caracteres substituta em vez de uma sequência de bytes de entrada que não pode ser decodificada.Gets an object that outputs a substitute string in place of an input byte sequence that cannot be decoded.

Métodos

CreateFallbackBuffer()

Quando substituído em uma classe derivada, inicializa uma nova instância da classe DecoderFallbackBuffer.When overridden in a derived class, initializes a new instance of the DecoderFallbackBuffer class.

Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.Determines whether the specified object is equal to the current object.

(Herdado de Object)
GetHashCode()

Serve como a função de hash padrão.Serves as the default hash function.

(Herdado de Object)
GetType()

Obtém o Type da instância atual.Gets the Type of the current instance.

(Herdado de Object)
MemberwiseClone()

Cria uma cópia superficial do Object atual.Creates a shallow copy of the current Object.

(Herdado de Object)
ToString()

Retorna uma cadeia de caracteres que representa o objeto atual.Returns a string that represents the current object.

(Herdado de Object)

Aplica-se a

Veja também