DecoderFallback Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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.
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
- Herança
-
DecoderFallback
- Derivado
- Atributos
Comentários
Uma codificação mapeia um caractere Unicode para uma sequência codificada de bytes. Uma codificação específica é representada por um tipo derivado da Encoding classe. Especificamente, um caractere é codificado em uma sequência de bytes chamando o método do tipo de Encoding.GetBytes codificação e a sequência de bytes é decodificada para uma matriz de caracteres ou uma cadeia de caracteres chamando o método ou Encoding.GetString o Encoding.GetChars método.
Uma operação de decodificação poderá falhar se a sequência de bytes de entrada não puder ser mapeada pela codificação. Por exemplo, um ASCIIEncoding objeto não poderá decodificar uma sequência de bytes se essa sequência representar um caractere que tenha um valor de ponto de código fora do intervalo U+0000 a U+007F.
Quando não é possível executar uma conversão de decodificação, o .NET Framework fornece um mecanismo de tratamento de falhas chamado fallback. Seu aplicativo pode usar fallbacks predefinidos .NET Framework decodificador ou pode criar um fallback de decodificador personalizado derivado das classes e do DecoderFallback decodificadorDecoderFallbackBuffer.
DecoderFallbacke DecoderFallbackBuffer são as classes base para todos os manipuladores de fallback de decodificação no .NET Framework. Eles dão suporte aos três tipos de mecanismos de tratamento de fallback a seguir:
Fallback de melhor ajuste, que mapeia caracteres Unicode válidos que não podem ser decodificados para um equivalente aproximado. Por exemplo, um manipulador de fallback mais adequado para a ASCIIEncoding classe pode mapear Æ (U+00C6) para AE (U+0041 + U+0045). Um manipulador de fallback de melhor ajuste também pode ser implementado para transliterar um alfabeto (como cirílico) para outro (como latino ou romano). O .NET Framework não fornece implementações de fallback de melhor ajuste público.
Fallback de substituição, que substitui cada caractere que não pode ser decodificado por uma cadeia de caracteres predefinida. O .NET Framework fornece um manipulador de fallback de substituição predefinido. A DecoderReplacementFallback classe 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 REPLACEMENT (U+FFFD). Você pode personalizar a cadeia de caracteres de substituição especificando um substituto na chamada ao DecoderReplacementFallback.DecoderReplacementFallback(String) construtor. Depois que a cadeia de caracteres substituta é emitida, a operação de decodificação continua convertendo o restante da entrada.
Fallback de exceção, que gera uma exceção quando uma sequência de bytes não pode ser decodificada. O .NET Framework fornece um manipulador de fallback de exceção predefinido. A DecoderExceptionFallback classe gera quando DecoderFallbackException uma sequência de bytes inválida é encontrada e a operação de decodificação é encerrada.
Se você optar por implementar uma solução personalizada, deverá substituir os seguintes membros abstratos da DecoderFallback classe:
O CreateFallbackBuffer método, que retorna uma instância de classe derivada de DecoderFallbackBuffer. Dependendo do tipo de manipulador de fallback que você está desenvolvendo, a DecoderFallbackBuffer implementação é responsável por executar o mapeamento ou substituição ou por gerar a exceção.
A MaxCharCount propriedade, que retorna o número máximo de caracteres que a implementação de fallback pode retornar. Para um manipulador de fallback de exceção, seu valor deve ser zero.
Para obter mais informações sobre as estratégias de codificação, decodificação e fallback, consulte Codificação de Caracteres no .NET Framework.
Construtores
DecoderFallback() |
Inicializa uma nova instância da classe DecoderFallback. |
Propriedades
ExceptionFallback |
Obtém um objeto que gera uma exceção quando uma sequência de bytes de entrada não pode ser decodificada. |
MaxCharCount |
Quando substituído em uma classe derivada, obtém o número máximo de caracteres que o objeto DecoderFallback atual pode retornar. |
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. |
Métodos
CreateFallbackBuffer() |
Quando substituído em uma classe derivada, inicializa uma nova instância da classe DecoderFallbackBuffer. |
Equals(Object) |
Determina se o objeto especificado é igual ao objeto atual. (Herdado de Object) |
GetHashCode() |
Serve como a função de hash padrão. (Herdado de Object) |
GetType() |
Obtém o Type da instância atual. (Herdado de Object) |
MemberwiseClone() |
Cria uma cópia superficial do Object atual. (Herdado de Object) |
ToString() |
Retorna uma cadeia de caracteres que representa o objeto atual. (Herdado de Object) |