DecoderFallbackBuffer DecoderFallbackBuffer DecoderFallbackBuffer DecoderFallbackBuffer Class

Definición

Proporciona un búfer que permite a un controlador de retroceso devolver una cadena alternativa a un descodificador cuando no puede descodificar una secuencia de bytes de entrada.Provides a buffer that allows a fallback handler to return an alternate string to a decoder when it cannot decode an input byte sequence.

public ref class DecoderFallbackBuffer abstract
public abstract class DecoderFallbackBuffer
type DecoderFallbackBuffer = class
Public MustInherit Class DecoderFallbackBuffer
Herencia
DecoderFallbackBufferDecoderFallbackBufferDecoderFallbackBufferDecoderFallbackBuffer
Derivado

Comentarios

Una codificación define una asignación entre un carácter Unicode y una secuencia de bytes codificada.An encoding defines a mapping between a Unicode character and an encoded sequence of bytes. Una operación de descodificación, que convierte una secuencia de bytes de entrada en un carácter de salida, produce un error si no se define ninguna asignación para una secuencia de bytes determinada.A decoding operation, which converts an input byte sequence to an output character, fails if no mapping is defined for a particular byte sequence.

El .NET Framework proporciona un mecanismo de control de errores, denominado reserva, si no se puede realizar una conversión.The .NET Framework provides a failure handling mechanism, called a fallback, if a conversion cannot be performed. Todos los controladores de reserva del descodificador deben implementar lo siguiente:All decoder fallback handlers must implement the following:

  • Una reserva del descodificador, que está representada por una clase DecoderFallback derivada de la clase.A decoder fallback, which is represented by a class derived from the DecoderFallback class.

  • Búfer de reserva del descodificador, que se representa mediante un tipo derivado de DecoderFallbackBuffer la clase que puede devolver una cadena a la operación de conversión.A decoder fallback buffer, which is represented by a type derived from the DecoderFallbackBuffer class that can return a string to the conversion operation.

Los respaldos pueden usar tres estrategias para controlar los errores de conversión:Fallbacks can use three strategies to handle conversion failures:

  • Asignación con ajuste perfecto.Best-fit mapping. El búfer de reserva del descodificador puede devolver una cadena que representa una aproximación aproximada a la secuencia de bytes de entrada.The decoder fallback buffer can return a string that represents a close approximation to the input byte sequence. El .NET Framework no proporciona una implementación de ajuste DecoderFallbackBuffer perfecto público.The .NET Framework does not provide a public best-fit DecoderFallbackBuffer implementation.

  • Sustituto.Replacement. El búfer de reserva del descodificador puede devolver una cadena, como un signo de interrogación ("?"), que indica que no se pudo descodificar una secuencia de bytes.The decoder fallback buffer can return a string, such as a question mark ("?"), that indicates that a byte sequence could not be decoded. En el .NET Framework, las DecoderReplacementFallback clases DecoderReplacementFallbackBuffer y proporcionan una implementación de búfer de reserva de reemplazo público.In the .NET Framework, the DecoderReplacementFallback and DecoderReplacementFallbackBuffer classes provide a public replacement fallback buffer implementation. El constructor de la DecoderReplacementFallback clase permite definir la cadena de reemplazo.The constructor of the DecoderReplacementFallback class enables you to define the replacement string.

  • Excepción.Exception. La DecoderFallbackBuffer implementación produce una excepción, que indica que no se puede descodificar una secuencia de bytes y finaliza la operación de descodificación.The DecoderFallbackBuffer implementation throws an exception, which indicates that a byte sequence cannot be decoded, and terminates the decoding operation. En este caso, el controlador de reserva debe proporcionar DecoderFallbackBuffer una implementación, aunque no devuelve una cadena al descodificador.In this case, the fallback handler must provide a DecoderFallbackBuffer implementation, although it does not return a string to the decoder. En la .NET Framework, las DecoderExceptionFallback clases DecoderExceptionFallbackBuffer y proporcionan una DecoderFallbackException implementación de reserva de excepción pública que produce cuando una secuencia de bytes no se puede descodificar.In the .NET Framework, the DecoderExceptionFallback and DecoderExceptionFallbackBuffer classes provide a public exception fallback implementation that throws a DecoderFallbackException when a byte sequence cannot be decoded.

El búfer de una DecoderFallbackBuffer implementación representa la cadena completa que se va a devolver al descodificador en respuesta a una reserva del descodificador.The buffer in a DecoderFallbackBuffer implementation represents the entire string to be returned to the decoder in response to a decoder fallback. Por lo general, las implementaciones también incluyen información de estado, como el índice del siguiente carácter que se va a devolver al descodificador y el número de caracteres restantes que se van a devolver.Generally, implementations also include state information, such as the index of the next character to return to the decoder and the number of remaining characters to be returned. Dado DecoderFallbackBuffer que es una clase abstracta, requiere que las clases derivadas implementen los miembros siguientes como mínimo:Because DecoderFallbackBuffer is an abstract class, it requires derived classes to implement the following members at a minimum:

  • El Fallback método, al que llama el descodificador cuando no puede descodificar una secuencia de bytes.The Fallback method, which is called by the decoder when it cannot decode a byte sequence. El descodificador pasa dos fragmentos de información a la implementación de búfer de reserva: una matriz que contiene los bytes que no se pudieron descodificar y el índice del primer byte en la matriz de bytes de entrada.The decoder passes two pieces of information to the fallback buffer implementation: an array containing the bytes that could not be decoded and the index of the first byte in the input byte array. En un controlador de excepciones de reserva del descodificador, la excepción se produce en este método.In a decoder fallback exception handler, the exception is thrown in this method. De lo contrario, el true método devuelve si proporciona una reserva, false o si no es así.Otherwise, the method returns true if it provides a fallback, or false if it does not.

  • El GetNextChar método, al que llama repetidamente el descodificador si el Fallback método devuelve true.The GetNextChar method, which is called repeatedly by the decoder if the Fallback method returns true. En las llamadas sucesivas, el controlador debe devolver cada carácter en su búfer.In successive calls, the handler should return each character in its buffer. Cuando ha devuelto todos los caracteres, debe devolver U + 0000.When it has returned all characters, it should return U+0000. Un controlador de reserva de excepción siempre devuelve U + 0000.An exception fallback handler always returns 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.The MovePrevious method, which tries to move the pointer to the previous position in the buffer and indicates whether the move was successful. Un controlador de excepciones siempre falsedevuelve.An exception handler always returns false.

  • La Remaining propiedad, que indica el número de caracteres restantes que se van a devolver al descodificador.The Remaining property, which indicates the number of remaining characters to be returned to the decoder. Un controlador de reserva de excepción siempre devuelve cero.An exception fallback handler always returns zero.

Constructores

DecoderFallbackBuffer() DecoderFallbackBuffer() DecoderFallbackBuffer() DecoderFallbackBuffer()

Inicializa una nueva instancia de la clase DecoderFallbackBuffer.Initializes a new instance of the DecoderFallbackBuffer class.

Propiedades

Remaining Remaining Remaining Remaining

Cuando se invalida en una clase derivada, obtiene el número de caracteres del objeto DecoderFallbackBuffer actual que están pendientes de ser procesados.When overridden in a derived class, gets the number of characters in the current DecoderFallbackBuffer object that remain to be processed.

Métodos

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

Determina si el objeto especificado es igual al objeto actual.Determines whether the specified object is equal to the current object.

(Inherited from Object)
Fallback(Byte[], Int32) Fallback(Byte[], Int32) Fallback(Byte[], Int32) Fallback(Byte[], Int32)

Cuando se invalida en una clase derivada, prepara el búfer de reserva para controlar la secuencia de bytes de entrada especificada.When overridden in a derived class, prepares the fallback buffer to handle the specified input byte sequence.

GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Sirve como la función hash predeterminada.Serves as the default hash function.

(Inherited from Object)
GetNextChar() GetNextChar() GetNextChar() GetNextChar()

Cuando se invalida en una clase derivada, recupera el carácter siguiente en el búfer de reserva.When overridden in a derived class, retrieves the next character in the fallback buffer.

GetType() GetType() GetType() GetType()

Obtiene el Type de la instancia actual.Gets the Type of the current instance.

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

Crea una copia superficial del objeto Object actual.Creates a shallow copy of the current Object.

(Inherited from Object)
MovePrevious() MovePrevious() MovePrevious() 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.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() Reset() Reset() Reset()

Inicializa todos los datos y la información de estado relacionados con este búfer de reserva.Initializes all data and state information pertaining to this fallback buffer.

ToString() ToString() ToString() ToString()

Devuelve una cadena que representa el objeto actual.Returns a string that represents the current object.

(Inherited from Object)

Se aplica a

Consulte también: