Compartir a través de


DecoderFallback Clase

Definición

Proporciona un mecanismo de control de errores, denominado reserva, para una secuencia de bytes de entrada codificada que no se puede convertir en un carácter de salida.

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

Comentarios

Una codificación asigna un carácter Unicode a una secuencia de bytes codificada. Una codificación determinada se representa mediante un tipo derivado de la Encoding clase . En concreto, un carácter se codifica en una secuencia de bytes llamando al método del Encoding.GetBytes tipo de codificación y la secuencia de bytes se descodifica en una matriz de caracteres o una cadena llamando al Encoding.GetChars método o Encoding.GetString .

Se puede producir un error en una operación de descodificación si la secuencia de bytes de entrada no se puede asignar mediante la codificación. 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 U+0000 a U+007F.

Cuando no se puede realizar una conversión de descodificación, .NET Framework proporciona un mecanismo de control de errores denominado reserva. La aplicación puede usar reservas de descodificador de .NET Framework predefinidas, o bien puede crear una reserva de descodificador personalizada derivada de las DecoderFallback clases y DecoderFallbackBuffer .

DecoderFallback y DecoderFallbackBuffer son las clases base para todos los controladores de reserva de descodificación en .NET Framework. Admiten los tres tipos siguientes de mecanismos de control de reserva:

  • Reserva más adecuada, que asigna caracteres Unicode válidos que no se pueden descodificar a un equivalente aproximado. Por ejemplo, un controlador de reserva más adecuado para la ASCIIEncoding clase podría asignar Æ (U+00C6) a AE (U+0041 + U+0045). Un controlador de reserva más adecuado también se puede implementar para transliterar un alfabeto (como cirílico) a otro (como latino o romano). .NET Framework no proporciona ninguna implementación de reserva más adecuada para el público.

  • Reserva de reemplazo, que reemplaza cada carácter que no se puede descodificar por una cadena predefinida. .NET Framework proporciona un controlador de reserva de reemplazo predefinido. La DecoderReplacementFallback clase reemplaza cada secuencia de bytes que no se puede descodificar por un carácter de signo de interrogación ("?", u U+003F) o un CARÁCTER REPLACEMENT (U+FFFD). Puede personalizar la cadena de reemplazo especificando un sustituto en la llamada al 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.

  • Reserva de excepciones, que produce una excepción cuando no se puede descodificar una secuencia de bytes. .NET Framework proporciona un controlador de reserva de excepciones predefinido. 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.

Si decide implementar una solución personalizada, debe invalidar los siguientes miembros abstractos de la DecoderFallback clase :

  • El CreateFallbackBuffer método , que devuelve una instancia de clase derivada de DecoderFallbackBuffer. Dependiendo del tipo de controlador de reserva que esté desarrollando, la DecoderFallbackBuffer implementación es responsable de realizar la asignación o reemplazo, o para iniciar la excepción.

  • La MaxCharCount propiedad , que devuelve el número máximo de caracteres que puede devolver la implementación de reserva. Para un controlador de reserva de excepciones, su valor debe ser cero.

Para obtener más información sobre la codificación, la descodificación y las estrategias de reserva, consulte Codificación de caracteres en .NET Framework.

Constructores

Nombre Description
DecoderFallback()

Inicializa una nueva instancia de la clase DecoderFallback.

Propiedades

Nombre Description
ExceptionFallback

Obtiene un objeto que produce una excepción cuando no se puede descodificar una secuencia de bytes de entrada.

MaxCharCount

Cuando se reemplaza en una clase derivada, obtiene el número máximo de caracteres que puede devolver el objeto actual DecoderFallback .

ReplacementFallback

Obtiene un objeto que genera una cadena sustitutiva en lugar de una secuencia de bytes de entrada que no se puede descodificar.

Métodos

Nombre Description
CreateFallbackBuffer()

Cuando se reemplaza en una clase derivada, inicializa una nueva instancia de la DecoderFallbackBuffer clase .

Equals(Object)

Determina si el objeto especificado es igual al objeto actual.

(Heredado de Object)
GetHashCode()

Actúa como función hash predeterminada.

(Heredado de Object)
GetType()

Obtiene el Type de la instancia actual.

(Heredado de Object)
MemberwiseClone()

Crea una copia superficial del Objectactual.

(Heredado de Object)
ToString()

Devuelve una cadena que representa el objeto actual.

(Heredado de Object)

Se aplica a

Consulte también