EncoderFallbackBuffer Classe

Definição

Fornece um buffer que permite que um manipulador de fallback retorne uma cadeia de caracteres alternativa para um codificador quando ele não é capaz de codificar um caractere de entrada.Provides a buffer that allows a fallback handler to return an alternate string to an encoder when it cannot encode an input character.

public ref class EncoderFallbackBuffer abstract
public abstract class EncoderFallbackBuffer
type EncoderFallbackBuffer = class
Public MustInherit Class EncoderFallbackBuffer
Herança
EncoderFallbackBuffer
Derivado

Comentários

Uma codificação define um mapeamento entre um caractere Unicode e uma sequência codificada de bytes.An encoding defines a mapping between a Unicode character and an encoded sequence of bytes. Uma operação de codificação, que converte um caractere de entrada em uma sequência de bytes de saída, falha se nenhum mapeamento for definido para um caractere específico.An encoding operation, which converts an input character to an output byte sequence, fails if no mapping is defined for a particular character.

O .NET Framework fornece um mecanismo de tratamento de falha, chamado de fallback, se uma conversão não puder ser executada.The .NET Framework provides a failure handling mechanism, called a fallback, if a conversion cannot be performed. Todos os manipuladores de fallback de codificador devem implementar o seguinte:All encoder fallback handlers must implement the following:

  • Um fallback de codificador, que é representado por uma classe derivada da classe EncoderFallback.An encoder fallback, which is represented by a class derived from the EncoderFallback class.

  • Um buffer de fallback de codificador, que é representado por um tipo derivado da classe EncoderFallbackBuffer que pode retornar uma cadeia de caracteres para a operação de conversão.An encoder fallback buffer, which is represented by a type derived from the EncoderFallbackBuffer class that can return a string to the conversion operation.

Os Fallbacks podem usar três estratégias para lidar com falhas de conversão:Fallbacks can use three strategies to handle conversion failures:

  • Mapeamento de melhor ajuste.Best-fit mapping. O buffer de fallback do codificador pode retornar uma cadeia de caracteres que representa uma aproximação aproximada do caractere de entrada.The encoder fallback buffer can return a string that represents a close approximation to the input character. O .NET Framework não fornece uma implementação pública de melhor ajuste EncoderFallbackBuffer.The .NET Framework does not provide a public best-fit EncoderFallbackBuffer implementation.

  • Irá.Replacement. O buffer de fallback do codificador pode retornar uma cadeia de caracteres, como um ponto de interrogação ("?"), que indica que um caractere não pôde ser codificado.The encoder fallback buffer can return a string, such as a question mark ("?"), that indicates that a character could not be encoded. No .NET Framework, as classes EncoderReplacementFallback e EncoderReplacementFallbackBuffer fornecem uma implementação de buffer de fallback de substituição pública.In the .NET Framework, the EncoderReplacementFallback and EncoderReplacementFallbackBuffer classes provide a public replacement fallback buffer implementation. O construtor da classe EncoderReplacementFallback permite que você defina a cadeia de caracteres de substituição.The constructor of the EncoderReplacementFallback class enables you to define the replacement string.

  • Exception.Exception. A implementação de EncoderFallbackBuffer gera uma exceção, que indica que um caractere não pode ser codificado e encerra a operação de codificação.The EncoderFallbackBuffer implementation throws an exception, which indicates that a character cannot be encoded, and terminates the encoding operation. Nesse caso, o manipulador de fallback deve fornecer uma implementação de EncoderFallbackBuffer, embora não retorne uma cadeia de caracteres para o codificador.In this case, the fallback handler must provide an EncoderFallbackBuffer implementation, although it does not return a string to the encoder. Na .NET Framework, as classes EncoderExceptionFallback e EncoderExceptionFallbackBuffer fornecem uma implementação de fallback de exceção pública que gera um EncoderFallbackException quando um caractere não pode ser codificado.In the .NET Framework, the EncoderExceptionFallback and EncoderExceptionFallbackBuffer classes provide a public exception fallback implementation that throws an EncoderFallbackException when a character cannot be encoded.

O buffer em uma implementação de EncoderFallbackBuffer representa a cadeia de caracteres inteira a ser retornada ao codificador em resposta a um fallback de codificador.The buffer in an EncoderFallbackBuffer implementation represents the entire string to be returned to the encoder in response to an encoder fallback. Geralmente, as implementações também incluem informações de estado, como o índice do próximo caractere para retornar ao codificador e o número de caracteres restantes a serem retornados.Generally, implementations also include state information, such as the index of the next character to return to the encoder and the number of remaining characters to be returned. Como EncoderFallbackBuffer é uma classe abstrata, ela requer que as classes derivadas implementem os seguintes membros no mínimo:Because EncoderFallbackBuffer is an abstract class, it requires derived classes to implement the following members at a minimum:

  • O método de Fallback sobrecarregado, que é chamado pelo codificador quando ele não pode codificar um caractere.The overloaded Fallback method, which is called by the encoder when it cannot encode a character. O codificador passa duas partes de informações para a implementação do buffer de fallback: o caractere ou par substituto que não pôde ser codificado e o índice do caractere na entrada.The encoder passes two pieces of information to the fallback buffer implementation: the character or surrogate pair that could not be encoded and the index of the character in the input. Em um manipulador de exceção de fallback do codificador, a exceção é gerada nesse método.In an encoder fallback exception handler, the exception is thrown in this method. Caso contrário, o método retornará true se ele fornecer um fallback ou false se não tiver.Otherwise, the method returns true if it provides a fallback, or false if it does not.

  • O método GetNextChar, que é chamado repetidamente pelo codificador se o método Fallback retornar true.The GetNextChar method, which is called repeatedly by the encoder if the Fallback method returns true. Em chamadas sucessivas, o manipulador deve retornar cada caractere em seu buffer.In successive calls, the handler should return each character in its buffer. Quando ele retorna todos os caracteres, ele deve retornar U + 0000.When it has returned all characters, it should return U+0000. Um manipulador de exceção sempre retorna U + 0000.An exception handler always returns U+0000.

  • O método MovePrevious, que tenta mover o ponteiro para a posição anterior no buffer e indica se a movimentação foi bem-sucedida.The MovePrevious method, which tries to move the pointer to the previous position in the buffer and indicates whether the move was successful. Um manipulador de exceção sempre retorna false.An exception handler always returns false.

  • A propriedade Remaining, que indica o número de caracteres restantes a serem retornados para o codificador.The Remaining property, which indicates the number of remaining characters to be returned to the encoder. Um manipulador de fallback de exceção sempre retorna zero.An exception fallback handler always returns zero.

Construtores

EncoderFallbackBuffer()

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

Propriedades

Remaining

Quando substituído em uma classe derivada, obtém o número máximo de caracteres no objeto EncoderFallbackBuffer atual que ainda não foi processado.When overridden in a derived class, gets the number of characters in the current EncoderFallbackBuffer object that remain to be processed.

Métodos

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)
Fallback(Char, Char, Int32)

Quando substituído em uma classe derivada, prepara o buffer de fallback para manipular o par alternativo especificado.When overridden in a derived class, prepares the fallback buffer to handle the specified surrogate pair.

Fallback(Char, Int32)

Quando substituído em uma classe derivada, prepara o buffer de fallback para manipular o caractere de entrada especificado.When overridden in a derived class, prepares the fallback buffer to handle the specified input character.

GetHashCode()

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

(Herdado de Object)
GetNextChar()

Quando substituído em uma classe derivada, recupera o próximo caractere no buffer de fallback.When overridden in a derived class, retrieves the next character in the fallback buffer.

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)
MovePrevious()

Quando substituído em uma classe derivada, faz com que a próxima chamada para o método GetNextChar() acesse a posição do caractere do buffer de dados que é anterior à posição atual do caractere.When overridden in a derived class, causes the next call to the GetNextChar() method to access the data buffer character position that is prior to the current character position.

Reset()

Inicializa todas as informações de dados e de estado pertencentes a esse buffer de fallback.Initializes all data and state information pertaining to this fallback buffer.

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