EncoderFallback Classe
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Fornece um mecanismo de gestão de falhas, chamado de recurso, para um carácter de entrada que não pode ser convertido numa sequência codificada de bytes de saída.
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
Observações
Uma codificação mapeia um carácter Unicode para uma sequência codificada de bytes. Uma codificação particular é representada por um tipo derivado da Encoding classe. Especificamente, um carácter é codificado numa sequência de bytes chamando o método do Encoding.GetBytes tipo de codificação, e a sequência de bytes é decodificada para um array de caracteres ou uma cadeia de caracteres chamando o Encoding.GetChars método ou Encoding.GetString .
Uma operação de codificação pode falhar se o carácter de entrada não puder ser representado pela codificação. Por exemplo, um ASCIIEncoding objeto não pode codificar um carácter cujo valor em pontos de código Unicode esteja fora do intervalo U+0000 a U+007F.
Quando uma conversão de codificação não pode ser realizada, o .NET Framework fornece um mecanismo de gestão de falhas chamado recurso. A sua aplicação pode usar backups pré-definidos .NET codificadores Framework, ou pode criar um fallback personalizado derivado das classes EncoderFallback e EncoderFallbackBuffer.
EncoderFallback e EncoderFallbackBuffer são as classes base para todos os handlers de fallback de codificação no .NET Framework. Suportam os seguintes três tipos de mecanismos de manuseamento de recuo:
Best-fit fallback, que mapeia caracteres Unicode válidos que não podem ser codificados para um equivalente aproximado. Por exemplo, um manipulador de reserva mais adequado para a ASCIIEncoding classe pode mapear Æ (U+00C6) para AE (U+0041 + U+0045). Um manipulador de recurso mais adequado pode também ser implementado para transliterar um alfabeto (como cirílico) para outro (como latim ou romano). O .NET Framework não fornece implementações públicas de melhor aptidão para o tipo de alternativa.
Substituição de recurso, que substitui cada carácter que não pode ser codificado por uma cadeia pré-definida. O .NET Framework fornece um gestor de substituição pré-definido. A EncoderReplacementFallback classe substitui cada sequência de bytes que não pode ser decodificada por um carácter de ponto de interrogação ("?", ou U+003F) ou um CARÁCTER DE SUBSTITUIÇÃO (U+FFFD). Pode personalizar a cadeia de substituição especificando um substituto na chamada para o EncoderReplacementFallback.EncoderReplacementFallback(String) construtor. Depois de a cadeia substituta ser emitida, a operação de codificação continua a converter o restante da entrada.
Exception fallback, que lança uma exceção quando um carácter não pode ser codificado. .NET Framework fornece um handler de fallback de exceções predefinido. A EncoderExceptionFallback classe lança um EncoderFallbackException quando é encontrado um carácter inválido, e a operação de codificação termina.
Se optar por implementar uma solução personalizada, deve sobrescrever os seguintes membros abstratos da EncoderFallback classe:
O CreateFallbackBuffer método, que devolve uma instância de classe derivada de EncoderFallbackBuffer. Dependendo do tipo de manipulador de reserva que está a desenvolver, a EncoderFallbackBuffer implementação é responsável por realizar o mapeamento ou substituição, ou por lançar a exceção.
A MaxCharCount propriedade, que devolve o número máximo de caracteres que a implementação de recurso, pode devolver. Para um manipulador de retenção de exceções, o seu valor deve ser zero.
Para mais informações sobre codificação, descodificação e estratégias de reserva, consulte Codificação de Caracteres no .NET Framework.
Construtores
| Name | Description |
|---|---|
| EncoderFallback() |
Inicializa uma nova instância da EncoderFallback classe. |
Propriedades
| Name | Description |
|---|---|
| ExceptionFallback |
Obtém um objeto que lança uma exceção quando um carácter de entrada não pode ser codificado. |
| MaxCharCount |
Quando sobrescrito numa classe derivada, obtém o número máximo de caracteres que o objeto atual EncoderFallback pode devolver. |
| ReplacementFallback |
Obtém um objeto que produz uma cadeia substituta em vez de um carácter de entrada que não pode ser codificado. |
Métodos
| Name | Description |
|---|---|
| CreateFallbackBuffer() |
Quando sobreposto numa classe derivada, inicializa uma nova instância da EncoderFallbackBuffer classe. |
| Equals(Object) |
Determina se o objeto especificado é igual ao objeto atual. (Herdado de Object) |
| GetHashCode() |
Serve como função de hash predefinida. (Herdado de Object) |
| GetType() |
Obtém o Type da instância atual. (Herdado de Object) |
| MemberwiseClone() |
Cria uma cópia superficial do atual Object. (Herdado de Object) |
| ToString() |
Devolve uma cadeia que representa o objeto atual. (Herdado de Object) |
Aplica-se a
Ver também
- EncoderFallbackBuffer
- EncoderReplacementFallback
- EncoderExceptionFallback
Caracteres no Framework .NET