DecoderFallback Classe

Definizione

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

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

Commenti

Una codifica esegue il mapping di un carattere Unicode a una sequenza codificata di byte. Una particolare codifica è rappresentata da un tipo derivato dalla Encoding classe . In particolare, un carattere viene codificato in una sequenza di byte chiamando il metodo del tipo di Encoding.GetBytes 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 decodifica può non riuscire se la sequenza di byte di input non può essere mappata dalla codifica. Ad esempio, un ASCIIEncoding oggetto non può decodificare una sequenza di byte se tale sequenza rappresenta un carattere con un valore di punto di codice esterno all'intervallo da U+0000 a U+007F.

Quando non è possibile eseguire una conversione di decodifica, .NET Framework fornisce un meccanismo di gestione degli errori denominato fallback. L'applicazione può usare fallback predefiniti del decodificatore .NET Framework oppure può creare un fallback del decodificatore personalizzato derivato dalle DecoderFallback classi e DecoderFallbackBuffer .

DecoderFallback e DecoderFallbackBuffer sono le classi di base per tutti i gestori di fallback di decodifica in .NET Framework. Supportano i tre tipi di meccanismi di gestione del fallback seguenti:

  • Fallback più adatto, che esegue il mapping di caratteri Unicode validi che non possono essere decodificati a 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 alfabeto latino o romano). .NET Framework non fornisce implementazioni di fallback più adatte al pubblico.

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

  • Fallback delle eccezioni, che genera un'eccezione quando non è possibile decodificare una sequenza di byte. .NET Framework fornisce un gestore di fallback delle eccezioni predefinito. La DecoderExceptionFallback classe genera un'eccezione DecoderFallbackException quando viene rilevata una sequenza di byte non valida e l'operazione di decodifica termina.

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

  • Metodo CreateFallbackBuffer , che restituisce un'istanza di classe derivata da DecoderFallbackBuffer. A seconda del tipo di gestore di fallback in fase di sviluppo, l'implementazione DecoderFallbackBuffer è 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 delle eccezioni, il relativo valore deve essere zero.

Per altre informazioni sulle strategie di codifica, decodifica e fallback, vedere Codifica dei caratteri in .NET Framework.

Costruttori

DecoderFallback()

Inizializza una nuova istanza della classe DecoderFallback.

Proprietà

ExceptionFallback

Ottiene un oggetto che genera un'eccezione quando non è possibile decodificare una sequenza di byte di input.

MaxCharCount

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

ReplacementFallback

Ottiene un oggetto che genera una stringa sostitutiva di una sequenza di byte di input che non può essere decodificata.

Metodi

CreateFallbackBuffer()

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

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