Compartir a través de


EncoderFallback Clase

Definición

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

public ref class EncoderFallback abstract
public abstract class EncoderFallback
[System.Serializable]
public abstract class EncoderFallback
type EncoderFallback = class
[<System.Serializable>]
type EncoderFallback = class
Public MustInherit Class EncoderFallback
Herencia
EncoderFallback
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 codificación si el carácter de entrada no se puede representar mediante la codificación. Por ejemplo, un ASCIIEncoding objeto no puede codificar un carácter cuyo valor de punto de código Unicode esté fuera del intervalo U+0000 a U+007F.

Cuando no se puede realizar una conversión de codificación, el .NET Framework proporciona un mecanismo de control de errores denominado reserva. La aplicación puede usar las reservas predefinidas .NET Framework codificador, o bien puede crear una reserva de codificador personalizada derivada de las EncoderFallback clases y EncoderFallbackBuffer .

EncoderFallbacky EncoderFallbackBuffer son las clases base para todos los controladores de reserva de codificación de la .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 codificar 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 codificar con una cadena predefinida. El .NET Framework proporciona un controlador de reserva de reemplazo predefinido. La EncoderReplacementFallback 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 EncoderReplacementFallback.EncoderReplacementFallback(String) constructor. Una vez emitida la cadena de sustitución, la operación de codificación continúa convirtiendo el resto de la entrada.

  • Reserva de excepciones, que produce una excepción cuando no se puede codificar un carácter. El .NET Framework proporciona un controlador de reserva de excepciones predefinido. La EncoderExceptionFallback clase produce un EncoderFallbackException cuando se encuentra un carácter no válido y finaliza la operación de codificación.

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

  • El CreateFallbackBuffer método , que devuelve una instancia de clase derivada de EncoderFallbackBuffer. Dependiendo del tipo de controlador de reserva que esté desarrollando, la EncoderFallbackBuffer 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

EncoderFallback()

Inicializa una nueva instancia de la clase EncoderFallback.

Propiedades

ExceptionFallback

Obtiene un objeto que produce una excepción cuando no se puede codificar un carácter de entrada.

MaxCharCount

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

ReplacementFallback

Obtiene un objeto que genera una cadena de sustitución de un carácter de entrada que no se puede codificar.

Métodos

CreateFallbackBuffer()

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

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