Condividi tramite


EncoderFallback Classe

Definizione

Fornisce un meccanismo di gestione degli errori, denominato fallback, per un carattere di input che non può essere convertito in una sequenza di byte di output.

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
Ereditarietà
EncoderFallback
Derivato
Attributi

Commenti

Una codifica esegue il mapping di un carattere Unicode a una sequenza codificata di byte. Una codifica specifica è rappresentata da un tipo derivato dalla Encoding classe. In particolare, un carattere viene codificato in una sequenza di byte chiamando il metodo del Encoding.GetBytes tipo di codifica e la sequenza di byte viene decodificata in una matrice di caratteri o in una stringa chiamando il Encoding.GetChars metodo o Encoding.GetString .

Un'operazione di codifica può non riuscire se il carattere di input non può essere rappresentato dalla codifica. Ad esempio, un ASCIIEncoding oggetto non può codificare un carattere il cui valore del punto di codice Unicode non è compreso nell'intervallo U+0000 a U+007F.

Quando non è possibile eseguire una conversione di codifica, la .NET Framework fornisce un meccanismo di gestione degli errori denominato fallback. L'applicazione può usare fallback predefiniti .NET Framework codificatore oppure può creare un fallback del codificatore personalizzato derivato dalle EncoderFallback classi eEncoderFallbackBuffer.

EncoderFallbacke EncoderFallbackBuffer sono le classi di base per tutti i gestori di fallback di codifica nel .NET Framework. Supportano i tre tipi di meccanismi di gestione del fallback seguenti:

  • Fallback ottimale, che esegue il mapping di caratteri Unicode validi che non possono essere codificati in un equivalente approssimativo. Ad esempio, un gestore di fallback più adatto per la classe potrebbe eseguire il ASCIIEncoding mapping di Æ (U+00C6) a AE (U+0041 + U+0045). Un gestore di fallback più adatto può essere implementato anche per traslitterare un alfabeto (ad esempio cirillico) a un altro (ad esempio latino o romano). Il .NET Framework non fornisce implementazioni di fallback più adatte al pubblico.

  • Fallback di sostituzione, che sostituisce ogni carattere che non può essere codificato con una stringa predefinita. Il .NET Framework fornisce un gestore di fallback di sostituzione predefinito. La EncoderReplacementFallback classe sostituisce ogni sequenza di byte che non può essere decodificata con un carattere punto interrogativo ("?", o U+003F) o un CARATTERE SOSTITUZIONE (U+FFFD). È possibile personalizzare la stringa di sostituzione specificando un sostituto nella chiamata al EncoderReplacementFallback.EncoderReplacementFallback(String) costruttore. Dopo aver generato la stringa sostitutiva, l'operazione di codifica continua a convertire il resto dell'input.

  • Fallback delle eccezioni, che genera un'eccezione quando non è possibile codificare un carattere. Il .NET Framework fornisce un gestore di fallback di eccezione predefinito. La EncoderExceptionFallback classe genera un valore quando viene rilevato un EncoderFallbackException carattere non valido e l'operazione di codifica termina.

Se si sceglie di implementare una soluzione personalizzata, è necessario eseguire l'override dei membri astratti seguenti della EncoderFallback classe:

  • Metodo, che restituisce un'istanza CreateFallbackBuffer di classe derivata da EncoderFallbackBuffer. A seconda del tipo di gestore di fallback in fase di sviluppo, l'implementazione EncoderFallbackBuffer è responsabile dell'esecuzione del mapping o della sostituzione o della generazione dell'eccezione.

  • Proprietà MaxCharCount , che restituisce il numero massimo di caratteri che l'implementazione di fallback può restituire. Per un gestore di fallback di eccezione, il relativo valore deve essere zero.

Per altre informazioni sulla codifica, la decodifica e le strategie di fallback, vedere Codifica dei caratteri nella .NET Framework.

Costruttori

EncoderFallback()

Inizializza una nuova istanza della classe EncoderFallback.

Proprietà

ExceptionFallback

Ottiene un oggetto che genera un'eccezione se un carattere di input non può essere codificato.

MaxCharCount

Quando sottoposto a override in una classe derivata, ottiene il numero massimo di caratteri che l'oggetto EncoderFallback corrente è in grado di restituire.

ReplacementFallback

Ottiene un oggetto che genera una stringa sostitutiva al posto di un carattere di input che non può essere codificato.

Metodi

CreateFallbackBuffer()

Se sottoposto a override in una classe derivata, inizializza una nuova istanza della classe EncoderFallbackBuffer.

Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.

(Ereditato da Object)
GetHashCode()

Funge da funzione hash predefinita.

(Ereditato da Object)
GetType()

Ottiene l'oggetto Type dell'istanza corrente.

(Ereditato da Object)
MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.

(Ereditato da Object)
ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)

Si applica a

Vedi anche