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 tipo di codifica e la sequenza di byte viene decodificata in una matrice di caratteri o in una stringa chiamando Encoding.GetBytes 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 oggetto non può codificare un carattere il cui valore del punto di codice Unicode non è compreso nell'intervallo ASCIIEncoding da U+0000 a U+007F.

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

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

  • Fallback più adatto, 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 mapping ASCIIEncoding di Æ (U+00C6) a AE (U+0041 + U+0045). È anche possibile che venga implementato un gestore di fallback più adatto per traslitterare un alfabeto (ad esempio cirillico) in un altro (ad esempio latino o latino). Il .NET Framework non fornisce alcuna implementazione di fallback pubblicamente adatta.

  • 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 classe sostituisce ogni sequenza di byte che non può essere decodificata con un punto interrogativo EncoderReplacementFallback ("?", O U+003F) o un CARATTERE DI SOSTITUZIONE (U+FFFD). È possibile personalizzare la stringa di sostituzione specificando un sostituto nella chiamata al EncoderReplacementFallback.EncoderReplacementFallback(String) costruttore. Dopo l'emissione della stringa sostitutiva, l'operazione di codifica continua a convertire il resto dell'input.

  • Fallback dell'eccezione, che genera un'eccezione quando non è possibile codificare un carattere. Il .NET Framework fornisce un gestore di fallback delle eccezioni predefinito. La classe genera un'eccezione quando viene rilevato un carattere non EncoderExceptionFallback EncoderFallbackException 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 CreateFallbackBuffer che restituisce un'istanza della classe derivata da EncoderFallbackBuffer . A seconda del tipo di gestore di fallback che si sta sviluppando, l'implementazione è responsabile dell'esecuzione del mapping o della sostituzione o EncoderFallbackBuffer della generazione dell'eccezione.

  • La MaxCharCount proprietà , 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 nel .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