EncoderFallback EncoderFallback EncoderFallback EncoderFallback Class

Definição

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.Provides a failure-handling mechanism, called a fallback, for an input character that cannot be converted to an encoded output byte sequence.

public ref class EncoderFallback abstract
[System.Serializable]
public abstract class EncoderFallback
type EncoderFallback = class
Public MustInherit Class EncoderFallback
Herança
EncoderFallbackEncoderFallbackEncoderFallbackEncoderFallback
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 Encoding classe.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 do Encoding.GetBytes tipo de codificação, e a sequência de bytes é decodificada para uma matriz de caracteres ou uma cadeia de caracteres chamando o Encoding.GetChars método 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 codificação poderá falhar se o caractere de entrada não puder ser representado pela codificação.An encoding operation can fail if the input character cannot be represented by the encoding. 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.For example, an ASCIIEncoding object cannot encode a character whose Unicode code point value is outside the range U+0000 to 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 de fallback.When an encoding conversion cannot be performed, the .NET Framework provides a failure-handling mechanism called a fallback. Seu aplicativo pode usar fallbacks predefinidos .NET Framework codificadores ou pode criar um retorno de um codificador EncoderFallback personalizado EncoderFallbackBuffer derivado das classes e.Your application can use predefined .NET Framework encoder fallbacks, or it can create a custom encoder fallback derived from the EncoderFallback and EncoderFallbackBuffer classes.

EncoderFallbacke EncoderFallbackBuffer são as classes base para todos os manipuladores de fallback de codificação no .NET Framework.EncoderFallback and EncoderFallbackBuffer are the base classes for all encoding 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 codificados para um equivalente aproximado.Best-fit fallback, which maps valid Unicode characters that cannot be encoded to an approximate equivalent. Por exemplo, um manipulador de fallback de melhor ajuste para ASCIIEncoding a classe 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 codificado com uma cadeia de caracteres predefinida.Replacement fallback, which replaces each character that cannot be encoded 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 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).The EncoderReplacementFallback 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 EncoderReplacementFallback.EncoderReplacementFallback(String) o construtor.You can customize the replacement string by specifying a substitute in the call to the EncoderReplacementFallback.EncoderReplacementFallback(String) constructor. Depois que a cadeia de caracteres substituta é emitida, a operação de codificação continua convertendo o restante da entrada.After the substitute string is emitted, the encoding operation continues converting the remainder of the input.

  • Fallback de exceção, que gera uma exceção quando um caractere não pode ser codificado.Exception fallback, which throws an exception when a character cannot be encoded. O .NET Framework fornece um manipulador de fallback de exceção predefinido.The .NET Framework provides a predefined exception fallback handler. A EncoderExceptionFallback classe gera um EncoderFallbackException quando um caractere inválido é encontrado e a operação de codificação é encerrada.The EncoderExceptionFallback class throws an EncoderFallbackException when an invalid character is encountered, and the encoding operation terminates.

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

  • O CreateFallbackBuffer método, que retorna uma instância de classe derivada EncoderFallbackBufferde.The CreateFallbackBuffer method, which returns a class instance derived from EncoderFallbackBuffer. Dependendo do tipo de manipulador de fallback que você está desenvolvendo, a EncoderFallbackBuffer implementação é 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 EncoderFallbackBuffer implementation is responsible for performing the mapping or replacement, or for throwing the exception.

  • A MaxCharCount Propriedade, 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

EncoderFallback() EncoderFallback() EncoderFallback() EncoderFallback()

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

Propriedades

ExceptionFallback ExceptionFallback ExceptionFallback ExceptionFallback

Obtém um objeto que gera uma exceção quando um caractere de entrada não pode ser codificado.Gets an object that throws an exception when an input character cannot be encoded.

MaxCharCount MaxCharCount MaxCharCount MaxCharCount

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

ReplacementFallback ReplacementFallback ReplacementFallback 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.Gets an object that outputs a substitute string in place of an input character that cannot be encoded.

Métodos

CreateFallbackBuffer() CreateFallbackBuffer() CreateFallbackBuffer() CreateFallbackBuffer()

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

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

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

(Inherited from Object)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

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

(Inherited from Object)
GetType() GetType() GetType() GetType()

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

(Inherited from Object)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

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

(Inherited from Object)
ToString() ToString() ToString() ToString()

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

(Inherited from Object)

Aplica-se a

Veja também