Comparteix a través de


EncoderFallbackBuffer Clase

Definición

Proporciona un búfer que permite que un controlador de reserva devuelva una cadena alternativa a un codificador cuando no puede codificar un carácter de entrada.

public ref class EncoderFallbackBuffer abstract
public abstract class EncoderFallbackBuffer
type EncoderFallbackBuffer = class
Public MustInherit Class EncoderFallbackBuffer
Herencia
EncoderFallbackBuffer
Derivado

Comentarios

Una codificación define una asignación entre un carácter Unicode y una secuencia codificada de bytes. Se produce un error en una operación de codificación, que convierte un carácter de entrada en una secuencia de bytes de salida, si no se define ninguna asignación para un carácter determinado.

.NET Framework proporciona un mecanismo de control de errores, denominado reserva, si no se puede realizar una conversión. Todos los controladores de reserva del codificador deben implementar lo siguiente:

  • Reserva de codificador, representada por una clase derivada de la EncoderFallback clase .

  • Un búfer de reserva del codificador, representado por un tipo derivado de la EncoderFallbackBuffer clase que puede devolver una cadena a la operación de conversión.

Las reservas pueden usar tres estrategias para controlar los errores de conversión:

  • Asignación más adecuada. El búfer de reserva del codificador puede devolver una cadena que representa una aproximación cercana al carácter de entrada. .NET Framework no proporciona una implementación más adecuada para EncoderFallbackBuffer el público.

  • Sustitución. El búfer de reserva del codificador puede devolver una cadena, como un signo de interrogación ("?"), que indica que no se pudo codificar un carácter. En .NET Framework, las EncoderReplacementFallback clases y EncoderReplacementFallbackBuffer proporcionan una implementación del búfer de reserva de reemplazo público. El constructor de la EncoderReplacementFallback clase permite definir la cadena de reemplazo.

  • Excepción. La EncoderFallbackBuffer implementación produce una excepción, que indica que un carácter no se puede codificar y finaliza la operación de codificación. En este caso, el controlador de reserva debe proporcionar una EncoderFallbackBuffer implementación, aunque no devuelve una cadena al codificador. En .NET Framework, las EncoderExceptionFallback clases y EncoderExceptionFallbackBuffer proporcionan una implementación de reserva de excepción pública que produce un EncoderFallbackException cuando no se puede codificar un carácter.

El búfer de una EncoderFallbackBuffer implementación representa toda la cadena que se va a devolver al codificador en respuesta a una reserva del codificador. Por lo general, las implementaciones también incluyen información de estado, como el índice del siguiente carácter para volver al codificador y el número de caracteres restantes que se van a devolver. Dado EncoderFallbackBuffer que es una clase abstracta, requiere clases derivadas para implementar los siguientes miembros como mínimo:

  • Método sobrecargado Fallback , al que llama el codificador cuando no puede codificar un carácter. El codificador pasa dos fragmentos de información a la implementación del búfer de reserva: el par de caracteres o suplentes que no se pudo codificar y el índice del carácter de la entrada. En un controlador de excepciones de reserva del codificador, la excepción se produce en este método. De lo contrario, el método devuelve true si proporciona una reserva o false si no lo hace.

  • El GetNextChar método, al que llama repetidamente el codificador si el Fallback método devuelve true. En llamadas sucesivas, el controlador debe devolver cada carácter en su búfer. Cuando haya devuelto todos los caracteres, debe devolver U+0000. Un controlador de excepciones siempre devuelve U+0000.

  • El MovePrevious método , que intenta mover el puntero a la posición anterior en el búfer e indica si el movimiento se realizó correctamente. Un controlador de excepciones siempre devuelve false.

  • La Remaining propiedad , que indica el número de caracteres restantes que se van a devolver al codificador. Un controlador de reserva de excepciones siempre devuelve cero.

Constructores

EncoderFallbackBuffer()

Inicializa una nueva instancia de la clase EncoderFallbackBuffer.

Propiedades

Remaining

Cuando se invalida en una clase derivada, obtiene el número de caracteres del objeto EncoderFallbackBuffer actual que están pendientes de ser procesados.

Métodos

Equals(Object)

Determina si el objeto especificado es igual que el objeto actual.

(Heredado de Object)
Fallback(Char, Char, Int32)

Cuando se invalida en una clase derivada, prepara el búfer de reserva para controlar el par suplente especificado.

Fallback(Char, Int32)

Cuando se invalida en una clase derivada, prepara el búfer de reserva para controlar el carácter de entrada especificado.

GetHashCode()

Sirve como la función hash predeterminada.

(Heredado de Object)
GetNextChar()

Cuando se invalida en una clase derivada, recupera el carácter siguiente en el búfer de reserva.

GetType()

Obtiene el Type de la instancia actual.

(Heredado de Object)
MemberwiseClone()

Crea una copia superficial del Object actual.

(Heredado de Object)
MovePrevious()

Cuando se invalida en una clase derivada, realiza la siguiente llamada al método GetNextChar() para obtener acceso a la posición del carácter del búfer de datos situada antes de la posición del carácter actual.

Reset()

Inicializa todos los datos y la información de estado relacionados con este búfer de reserva.

ToString()

Devuelve una cadena que representa el objeto actual.

(Heredado de Object)

Se aplica a

Consulte también