DecoderFallback DecoderFallback DecoderFallback DecoderFallback Class

Definición

Proporciona un mecanismo de control de errores, denominado reserva, para una secuencia codificada de bytes de entrada que no se puede convertir en un carácter de salida.Provides a failure-handling mechanism, called a fallback, for an encoded input byte sequence that cannot be converted to an output character.

public ref class DecoderFallback abstract
[System.Serializable]
public abstract class DecoderFallback
type DecoderFallback = class
Public MustInherit Class DecoderFallback
Herencia
DecoderFallbackDecoderFallbackDecoderFallbackDecoderFallback
Derivado
Atributos

Comentarios

Una codificación asigna un carácter Unicode a una secuencia de bytes codificada.An encoding maps a Unicode character to an encoded sequence of bytes. Un tipo que se deriva de la Encoding clase representa una codificación determinada.A particular encoding is represented by a type that is derived from the Encoding class. En concreto, un carácter se codifica en una secuencia de bytes llamando al método del tipo de Encoding.GetBytes codificación y la secuencia de bytes se descodifica en una matriz de caracteres o en una cadena mediante una Encoding.GetChars llamada Encoding.GetString al método o.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.

Se puede producir un error en una operación de descodificación si la codificación no puede asignar la secuencia de bytes de entrada.A decoding operation can fail if the input byte sequence cannot be mapped by the encoding. Por ejemplo, un ASCIIEncoding objeto no puede descodificar una secuencia de bytes si esa secuencia representa un carácter que tiene un valor de punto de código que está fuera del intervalo de u + 0000 a u + 007F.For example, an ASCIIEncoding object cannot decode a byte sequence if that sequence represents a character that has a code point value that is outside the range U+0000 to U+007F.

Cuando no se puede realizar una conversión de descodificación, el .NET Framework proporciona un mecanismo de control de errores denominado reserva.When a decoding conversion cannot be performed, the .NET Framework provides a failure-handling mechanism called a fallback. La aplicación puede usar reservas de descodificador de .NET Framework predefinidas o puede crear una reserva de descodificador personalizada derivada de DecoderFallback las DecoderFallbackBuffer clases y.Your application can use predefined .NET Framework decoder fallbacks, or it can create a custom decoder fallback derived from the DecoderFallback and DecoderFallbackBuffer classes.

DecoderFallbacky DecoderFallbackBuffer son las clases base para todos los controladores de reserva de descodificación en el .NET Framework.DecoderFallback and DecoderFallbackBuffer are the base classes for all decoding fallback handlers in the .NET Framework. Admiten los tres tipos siguientes de mecanismos de control de reserva:They support the following three kinds of fallback handling mechanisms:

  • Reserva con ajuste perfecto, que asigna caracteres Unicode válidos que no se pueden descodificar a un equivalente aproximado.Best-fit fallback, which maps valid Unicode characters that cannot be decoded to an approximate equivalent. Por ejemplo, un controlador de reserva con ajuste perfecto para ASCIIEncoding la clase podría asignar Æ (u + 00C6) a 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). También se puede implementar un controlador de reserva con ajuste perfecto para transcribir un alfabeto (como el cirílico) a otro (como Latin o Roman).A best-fit fallback handler might also be implemented to transliterate one alphabet (such as Cyrillic) to another (such as Latin or Roman). El .NET Framework no proporciona ninguna implementación de reserva con ajuste perfecto público.The .NET Framework does not provide any public best-fit fallback implementations.

  • Reserva de reemplazo, que reemplaza cada carácter que no se puede descodificar con una cadena predefinida.Replacement fallback, which replaces each character that cannot be decoded with a predefined string. El .NET Framework proporciona un controlador de reserva de reemplazo predefinido.The .NET Framework provides a predefined replacement fallback handler. La DecoderReplacementFallback clase reemplaza cada secuencia de bytes que no se puede descodificar con un carácter de signo de interrogación ("?", u u + 003F) o un carácter de reemplazo (u + FFFD).The DecoderReplacementFallback class replaces each byte sequence that cannot be decoded with a question mark character ("?", or U+003F) or a REPLACEMENT CHARACTER (U+FFFD). Puede personalizar la cadena de reemplazo especificando un sustituto en la llamada al DecoderReplacementFallback.DecoderReplacementFallback(String) constructor.You can customize the replacement string by specifying a substitute in the call to the DecoderReplacementFallback.DecoderReplacementFallback(String) constructor. Una vez emitida la cadena de sustitución, la operación de descodificación continúa convirtiendo el resto de la entrada.After the substitute string is emitted, the decoding operation continues converting the remainder of the input.

  • Reserva de excepción, que produce una excepción cuando no se puede descodificar una secuencia de bytes.Exception fallback, which throws an exception when a byte sequence cannot be decoded. El .NET Framework proporciona un controlador de reserva de excepción predefinido.The .NET Framework provides a predefined exception fallback handler. La DecoderExceptionFallback clase produce una DecoderFallbackException excepción cuando se encuentra una secuencia de bytes no válida y finaliza la operación de descodificación.The DecoderExceptionFallback class throws a DecoderFallbackException when an invalid byte sequence is encountered, and the decoding operation terminates.

Si decide implementar una solución personalizada, debe invalidar los siguientes miembros abstractos de la DecoderFallback clase:If you choose to implement a custom solution, you must override the following abstract members of the DecoderFallback class:

  • El CreateFallbackBuffer método, que devuelve una instancia de clase derivada DecoderFallbackBufferde.The CreateFallbackBuffer method, which returns a class instance derived from DecoderFallbackBuffer. En función del tipo de controlador de reserva que esté desarrollando, la DecoderFallbackBuffer implementación es responsable de realizar la asignación o el reemplazo, o de producir la excepción.Depending on the type of fallback handler that you are developing, the DecoderFallbackBuffer implementation is responsible for performing the mapping or replacement, or for throwing the exception.

  • La MaxCharCount propiedad, que devuelve el número máximo de caracteres que puede devolver la implementación de reserva.The MaxCharCount property, which returns the maximum number of characters that the fallback implementation can return. Para un controlador de reserva de excepción, su valor debe ser cero.For an exception fallback handler, its value should be zero.

Para obtener más información sobre la codificación, la descodificación y las estrategias de reserva, vea codificación de caracteres en el .NET Framework.For more information about encoding, decoding, and fallback strategies, see Character Encoding in the .NET Framework.

Constructores

DecoderFallback() DecoderFallback() DecoderFallback() DecoderFallback()

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

Propiedades

ExceptionFallback ExceptionFallback ExceptionFallback ExceptionFallback

Obtiene un objeto que produce una excepción cuando no se puede descodificar una secuencia de bytes de entrada.Gets an object that throws an exception when an input byte sequence cannot be decoded.

MaxCharCount MaxCharCount MaxCharCount MaxCharCount

Cuando se invalida en una clase derivada, obtiene el número máximo de caracteres que puede devolver el objeto DecoderFallback actual.When overridden in a derived class, gets the maximum number of characters the current DecoderFallback object can return.

ReplacementFallback ReplacementFallback ReplacementFallback ReplacementFallback

Obtiene un objeto que genera una cadena de sustitución de una secuencia de bytes de entrada que no se puede descodificar.Gets an object that outputs a substitute string in place of an input byte sequence that cannot be decoded.

Métodos

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

Cuando se reemplaza en una clase derivada, inicializa una nueva instancia de la clase DecoderFallbackBuffer.When overridden in a derived class, initializes a new instance of the DecoderFallbackBuffer class.

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

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

(Inherited from Object)
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)
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: