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 codificata.

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 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 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 da U+0000 a U+007F.

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

EncoderFallback e EncoderFallbackBuffer sono le classi di base per tutti i gestori di fallback di codifica in .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 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). .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. .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 DI SOSTITUZIONE (U+FFFD). È possibile personalizzare la stringa di sostituzione specificando una sostituzione 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. .NET Framework fornisce un gestore di fallback delle eccezioni predefinito. La EncoderExceptionFallback classe genera un'eccezione EncoderFallbackException quando viene rilevato un 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 CreateFallbackBuffer , che restituisce un'istanza 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 del fallback può restituire. Per un gestore di fallback delle eccezioni, il relativo valore deve essere zero.

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

Costruttori

Nome Descrizione
EncoderFallback()

Inizializza una nuova istanza della classe EncoderFallback.

Proprietà

Nome Descrizione
ExceptionFallback

Ottiene un oggetto che genera un'eccezione quando non è possibile codificare un carattere di input.

MaxCharCount

In caso di override in una classe derivata, ottiene il numero massimo di caratteri che l'oggetto corrente EncoderFallback può restituire.

ReplacementFallback

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

Metodi

Nome Descrizione
CreateFallbackBuffer()

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

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 il Type dell'istanza corrente.

(Ereditato da Object)
MemberwiseClone()

Crea una copia superficiale del Objectcorrente.

(Ereditato da Object)
ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)

Si applica a

Vedi anche