Teilen über


EncoderFallback Klasse

Definition

Stellt einen als Fallback bezeichneten Fehlerbehandlungsmechanismus für ein Eingabezeichen bereit, das nicht in eine codierte Ausgabebytefolge konvertiert werden kann.

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
Vererbung
EncoderFallback
Abgeleitet
Attribute

Hinweise

Eine Codierung ordnet einem Unicode-Zeichen eine codierte Sequenz von Bytes zu. Eine bestimmte Codierung wird durch einen Typ dargestellt, der von der Encoding Klasse abgeleitet wird. Insbesondere wird ein Zeichen durch Aufrufen der Methode des Codierungstyps Encoding.GetBytes in eine Bytesequenz codiert, und die Bytesequenz wird mit einem Zeichenarray oder einer Zeichenfolge decodiert, indem die Encoding.GetString Encoding.GetChars Methode aufgerufen wird.

Ein Codierungsvorgang kann fehlschlagen, wenn das Eingabezeichen nicht durch die Codierung dargestellt werden kann. Ein Objekt kann z. B. kein Zeichen codieren, ASCIIEncoding dessen Unicode-Codepunktwert sich außerhalb des Bereichs U+0000 auf U+007F befindet.

Wenn eine Codierungskonvertierung nicht ausgeführt werden kann, stellt die .NET Framework einen Fehlerbehandlungsmechanismus bereit, der als Fallback bezeichnet wird. Ihre Anwendung kann vordefinierte .NET Framework Encoder-Fallbacks verwenden oder einen benutzerdefinierten Encoder-Fallback erstellen, der von den EncoderFallback klassen EncoderFallbackBuffer abgeleitet ist.

EncoderFallbackund EncoderFallbackBuffer sind die Basisklassen für alle Codierungs-Fallbackhandler im .NET Framework. Sie unterstützen die folgenden drei Arten von Fallbackbehandlungsmechanismen:

  • Am besten geeigneten Fallback, der gültige Unicode-Zeichen zugeordnet, die nicht mit einer ungefähren Entsprechung codiert werden können. Beispielsweise kann ein am besten passender Fallbackhandler für die ASCIIEncoding Klasse Æ (U+00C6) zu AE (U+0041 + U+0045) zuordnen. Ein am besten passender Fallbackhandler kann auch implementiert werden, um ein Alphabet (z. B. Kyrillisch) in einen anderen (z. B. Lateinisch oder Roman) zu transliterieren. Die .NET Framework bietet keine public best-fit-Fallbackimplementierungen.

  • Ersatz-Fallback, der jedes Zeichen ersetzt, das nicht mit einer vordefinierten Zeichenfolge codiert werden kann. Der .NET Framework stellt einen vordefinierten Ersatz-Fallbackhandler bereit. Die EncoderReplacementFallback Klasse ersetzt jede Bytesequenz, die nicht durch ein Fragezeichen ("?", oder U+003F) oder ein ERSATZZEICHEN (U+FFFD) decodiert werden kann. Sie können die Ersetzungszeichenfolge anpassen, indem Sie einen Ersatz im Aufruf des EncoderReplacementFallback.EncoderReplacementFallback(String) Konstruktors angeben. Nachdem die Ersatzzeichenfolge ausgegeben wurde, konvertiert der Codierungsvorgang weiterhin den Rest der Eingabe.

  • Ausnahmefallback, der eine Ausnahme auslöst, wenn ein Zeichen nicht codiert werden kann. Der .NET Framework stellt einen vordefinierten Ausnahmefallbackhandler bereit. Die EncoderExceptionFallback Klasse löst ein EncoderFallbackException , wenn ein ungültiges Zeichen aufgetreten ist, und der Codierungsvorgang wird beendet.

Wenn Sie eine benutzerdefinierte Lösung implementieren möchten, müssen Sie die folgenden abstrakten Member der EncoderFallback Klasse außer Kraft setzen:

  • Die CreateFallbackBuffer Methode, die eine Klasseninstanz zurückgibt, die von EncoderFallbackBuffer. Abhängig vom Typ des von Ihnen entwickelten Fallbackhandlers ist die EncoderFallbackBuffer Implementierung für die Durchführung der Zuordnung oder ersetzung oder für das Auslösen der Ausnahme verantwortlich.

  • Die MaxCharCount Eigenschaft, die die maximale Anzahl von Zeichen zurückgibt, die die Fallbackimplementierung zurückgeben kann. Für einen Ausnahmefallbackhandler sollte der Wert null sein.

Weitere Informationen zu Codierungs-, Decodierungs- und Fallbackstrategien finden Sie unter "Zeichencodierung" im .NET Framework.

Konstruktoren

EncoderFallback()

Initialisiert eine neue Instanz der EncoderFallback-Klasse.

Eigenschaften

ExceptionFallback

Ruft ein Objekt ab, das eine Ausnahme auslöst, wenn ein Eingabezeichen nicht codiert werden kann.

MaxCharCount

Beim Überschreiben in einer abgeleiteten Klasse wird die maximale Anzahl von Zeichen abgerufen, die das aktuelle EncoderFallback-Objekt zurückgeben kann.

ReplacementFallback

Ruft ein Objekt ab, das eine Ersatzzeichenfolge anstelle eines Eingabezeichens ausgibt, die nicht codiert werden kann.

Methoden

CreateFallbackBuffer()

Initialisiert beim Überschreiben in einer abgeleiteten Klasse eine neue Instanz der EncoderFallbackBuffer-Klasse.

Equals(Object)

Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist.

(Geerbt von Object)
GetHashCode()

Fungiert als Standardhashfunktion.

(Geerbt von Object)
GetType()

Ruft den Type der aktuellen Instanz ab.

(Geerbt von Object)
MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.

(Geerbt von Object)
ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.

(Geerbt von Object)

Gilt für

Siehe auch