Compartir a través de


DecoderFallback Clase

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.

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, el .NET Framework proporciona un mecanismo de control de errores denominado reserva. La aplicación puede usar las reservas predefinidas .NET Framework descodificador, o bien puede crear una reserva de descodificador personalizada derivada de las DecoderFallback clases y DecoderFallbackBuffer .

DecoderFallbacky DecoderFallbackBuffer son las clases base para todos los controladores de reserva de descodificación en el .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 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). El .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. El .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 DE REEMPLAZO (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. El .NET Framework proporciona un controlador de reserva de excepciones predefinido. La DecoderExceptionFallback clase produce un DecoderFallbackException 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 el 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 las estrategias de codificación, descodificación y reserva, vea Codificación de caracteres en la .NET Framework.

Constructores

DecoderFallback()

Inicializa una nueva instancia de la clase DecoderFallback.

Propiedades

ExceptionFallback

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

MaxCharCount

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

ReplacementFallback

Obtiene un objeto que genera una cadena de sustitución de una secuencia de bytes de entrada que no se puede descodificar.

Métodos

CreateFallbackBuffer()

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

Equals(Object)

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

(Heredado de Object)
GetHashCode()

Sirve como la función hash predeterminada.

(Heredado de Object)
GetType()

Obtiene el Type de la instancia actual.

(Heredado de Object)
MemberwiseClone()

Crea una copia superficial del Object actual.

(Heredado de Object)
ToString()

Devuelve una cadena que representa el objeto actual.

(Heredado de Object)

Se aplica a

Consulte también