EncoderFallback 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 fallback, para um caractere de entrada que não pode ser convertido em uma sequência de bytes de saída codificada.
public ref class EncoderFallback abstract
public abstract class EncoderFallback
[System.Serializable]
public abstract class EncoderFallback
type EncoderFallback = class
[<System.Serializable>]
type EncoderFallback = class
Public MustInherit Class EncoderFallback
- Herança
-
EncoderFallback
- 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 para 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 codificação poderá falhar se o caractere de entrada não puder ser representado pela codificação. Por exemplo, um ASCIIEncoding objeto não pode codificar um caractere cujo valor de ponto de código Unicode está fora do intervalo U+0000 a U+007F.
Quando uma conversão de codificação não pode ser executada, o .NET Framework fornece um mecanismo de tratamento de falhas chamado fallback. Seu aplicativo pode usar fallbacks predefinidos do codificador .NET Framework ou pode criar um fallback de codificador personalizado derivado das classes e do EncoderFallback codificadorEncoderFallbackBuffer.
EncoderFallbacke EncoderFallbackBuffer são as classes base para todos os manipuladores de fallback de codificaçã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 codificados para um equivalente aproximado. Por exemplo, um manipulador de fallback de melhor ajuste 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 codificado por uma cadeia de caracteres predefinida. O .NET Framework fornece um manipulador de fallback de substituição predefinido. A EncoderReplacementFallback 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 DE SUBSTITUIÇÃO (U+FFFD). Você pode personalizar a cadeia de caracteres de substituição especificando um substituto na chamada para o EncoderReplacementFallback.EncoderReplacementFallback(String) construtor. Depois que a cadeia de caracteres substituta é emitida, a operação de codificação continua convertendo o restante da entrada.
Fallback de exceção, que gera uma exceção quando um caractere não pode ser codificado. O .NET Framework fornece um manipulador de fallback de exceção predefinido. A EncoderExceptionFallback classe lança um EncoderFallbackException quando um caractere inválido é encontrado e a operação de codificação termina.
Se você optar por implementar uma solução personalizada, deverá substituir os seguintes membros abstratos da EncoderFallback classe:
O CreateFallbackBuffer método, que retorna uma instância de classe derivada de EncoderFallbackBuffer. Dependendo do tipo de manipulador de fallback que você está desenvolvendo, a EncoderFallbackBuffer 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
EncoderFallback() |
Inicializa uma nova instância da classe EncoderFallback. |
Propriedades
ExceptionFallback |
Obtém um objeto que gera uma exceção quando um caractere de entrada não pode ser codificado. |
MaxCharCount |
Quando substituído em uma classe derivada, obtém o número máximo de caracteres que o objeto EncoderFallback atual pode retornar. |
ReplacementFallback |
Obtém um objeto que gera uma cadeia de caracteres substituta em vez de um caractere de entrada que não pode ser codificado. |
Métodos
CreateFallbackBuffer() |
Quando substituído em uma classe derivada, inicializa uma nova instância da classe EncoderFallbackBuffer. |
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) |