EncoderFallbackBuffer Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Fornisce un buffer che consente a un gestore di fallback di restituire una stringa alternativa a un codificatore quando non è in grado di codificare un carattere di input.
public ref class EncoderFallbackBuffer abstract
public abstract class EncoderFallbackBuffer
type EncoderFallbackBuffer = class
Public MustInherit Class EncoderFallbackBuffer
- Ereditarietà
-
EncoderFallbackBuffer
- Derivato
Commenti
Una codifica definisce un mapping tra un carattere Unicode e una sequenza codificata di byte. Un'operazione di codifica, che converte un carattere di input in una sequenza di byte di output, ha esito negativo se non viene definito alcun mapping per un determinato carattere.
.NET Framework fornisce un meccanismo di gestione degli errori, denominato fallback, se non è possibile eseguire una conversione. Tutti i gestori di fallback del codificatore devono implementare quanto segue:
Fallback del codificatore, rappresentato da una classe derivata dalla EncoderFallback classe .
Buffer di fallback del codificatore, rappresentato da un tipo derivato dalla EncoderFallbackBuffer classe che può restituire una stringa all'operazione di conversione.
I fallback possono usare tre strategie per gestire gli errori di conversione:
Mapping ottimale. Il buffer di fallback del codificatore può restituire una stringa che rappresenta un'approssimazione vicina al carattere di input. .NET Framework non fornisce un'implementazione più adatta al EncoderFallbackBuffer pubblico.
Sostituzione. Il buffer di fallback del codificatore può restituire una stringa, ad esempio un punto interrogativo ("?"), che indica che non è stato possibile codificare un carattere. In .NET Framework le EncoderReplacementFallback classi e EncoderReplacementFallbackBuffer forniscono un'implementazione del buffer di fallback di sostituzione pubblica. Il costruttore della EncoderReplacementFallback classe consente di definire la stringa di sostituzione.
Eccezione. L'implementazione EncoderFallbackBuffer genera un'eccezione, che indica che un carattere non può essere codificato e termina l'operazione di codifica. In questo caso, il gestore di fallback deve fornire un'implementazione EncoderFallbackBuffer , anche se non restituisce una stringa al codificatore. In .NET Framework le EncoderExceptionFallback classi e EncoderExceptionFallbackBuffer forniscono un'implementazione di fallback di eccezione pubblica che genera un'eccezione EncoderFallbackException quando non è possibile codificare un carattere.
Il buffer in un'implementazione EncoderFallbackBuffer rappresenta l'intera stringa da restituire al codificatore in risposta a un fallback del codificatore. In genere, le implementazioni includono anche informazioni sullo stato, ad esempio l'indice del carattere successivo da restituire al codificatore e il numero di caratteri rimanenti da restituire. Poiché EncoderFallbackBuffer è una classe astratta, richiede che le classi derivate implementino almeno i membri seguenti:
Metodo di Fallback overload, chiamato dal codificatore quando non è in grado di codificare un carattere. Il codificatore passa due informazioni all'implementazione del buffer di fallback: la coppia di caratteri o surrogati che non è stato possibile codificare e l'indice del carattere nell'input. In un gestore di eccezioni di fallback del codificatore, l'eccezione viene generata in questo metodo. In caso contrario, il metodo restituisce
truese fornisce un fallback ofalsein caso contrario.Metodo GetNextChar , chiamato ripetutamente dal codificatore se il Fallback metodo restituisce
true. Nelle chiamate successive, il gestore deve restituire ogni carattere nel relativo buffer. Quando ha restituito tutti i caratteri, deve restituire U+0000. Un gestore eccezioni restituisce sempre U+0000.Il MovePrevious metodo , che tenta di spostare il puntatore alla posizione precedente nel buffer e indica se lo spostamento è riuscito. Un gestore eccezioni restituisce
falsesempre .Proprietà Remaining che indica il numero di caratteri rimanenti da restituire al codificatore. Un gestore di fallback di eccezione restituisce sempre zero.
Costruttori
| Nome | Descrizione |
|---|---|
| EncoderFallbackBuffer() |
Inizializza una nuova istanza della classe EncoderFallbackBuffer. |
Proprietà
| Nome | Descrizione |
|---|---|
| Remaining |
Quando sottoposto a override in una classe derivata, ottiene il numero di caratteri nell'oggetto corrente EncoderFallbackBuffer che rimangono da elaborare. |
Metodi
| Nome | Descrizione |
|---|---|
| Equals(Object) |
Determina se l'oggetto specificato è uguale all'oggetto corrente. (Ereditato da Object) |
| Fallback(Char, Char, Int32) |
Quando sottoposto a override in una classe derivata, prepara il buffer di fallback per gestire la coppia di surrogati specificata. |
| Fallback(Char, Int32) |
Quando sottoposto a override in una classe derivata, prepara il buffer di fallback per gestire il carattere di input specificato. |
| GetHashCode() |
Funge da funzione hash predefinita. (Ereditato da Object) |
| GetNextChar() |
Quando sottoposto a override in una classe derivata, recupera il carattere successivo nel buffer di fallback. |
| GetType() |
Ottiene il Type dell'istanza corrente. (Ereditato da Object) |
| MemberwiseClone() |
Crea una copia superficiale del Objectcorrente. (Ereditato da Object) |
| MovePrevious() |
Quando sottoposto a override in una classe derivata, fa sì che la chiamata successiva al GetNextChar() metodo acceda alla posizione del carattere del buffer di dati precedente alla posizione del carattere corrente. |
| Reset() |
Inizializza tutti i dati e le informazioni sullo stato relativi a questo buffer di fallback. |
| ToString() |
Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object) |