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 EncoderFallback classe.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 EncoderFallbackBuffer classe 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 de melhor ajuste pública EncoderFallbackBuffer .The .NET Framework does not provide a public best-fit EncoderFallbackBuffer implementation.
Substituição.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. Na .NET Framework, as EncoderReplacementFallback classes 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 EncoderReplacementFallback classe 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 EncoderFallbackBuffer implementação 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 EncoderFallbackBuffer implementação, 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 EncoderExceptionFallback classes 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 EncoderFallbackBuffer implementação 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 Fallback método 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á
truese ele fornecer um fallback oufalsese não tiver.Otherwise, the method returnstrueif it provides a fallback, orfalseif it does not.O GetNextChar método, que é chamado repetidamente pelo codificador se o Fallback método retornar
true.The GetNextChar method, which is called repeatedly by the encoder if the Fallback method returnstrue. 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 MovePrevious método, 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 returnsfalse.A Remaining propriedade, que indica o número de caracteres restantes a serem retornados ao 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) |