Freigeben über


DecoderFallback Klasse

Definition

Stellt einen als Fallback bezeichneten Fehlerbehandlungsmechanismus für eine codierte Eingabebytefolge bereit, die nicht in ein Ausgabezeichen konvertiert werden kann.

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

Hinweise

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

Ein Decodierungsvorgang kann fehlschlagen, wenn die Eingabe-Bytesequenz nicht durch die Codierung zugeordnet werden kann. Ein Objekt kann beispielsweise ASCIIEncoding keine Bytesequenz decodierungen, wenn diese Sequenz ein Zeichen darstellt, das einen Codepunktwert aufweist, der außerhalb des Bereichs U+0000 auf U+0000 bis U+007F liegt.

Wenn eine Decodierungskonvertierung nicht ausgeführt werden kann, stellt die .NET Framework einen Fehlerbehandlungsmechanismus bereit, der als Fallback bezeichnet wird. Ihre Anwendung kann vordefinierte .NET Framework Decoder-Fallbacks verwenden oder einen benutzerdefinierten Decoder-Fallback erstellen, der von den DecoderFallback Klassen DecoderFallbackBuffer abgeleitet wurde.

DecoderFallbackund DecoderFallbackBuffer sind die Basisklassen für alle Decodierungs-Fallbackhandler im .NET Framework. Sie unterstützen die folgenden drei Arten von Fallbackbehandlungsmechanismen:

  • Bewährter Fallback, der gültigen Unicode-Zeichen zugeordnet wird, die nicht zu einem ungefähren Äquivalent entschlüsselt werden können. Beispielsweise kann ein bewährter Fallbackhandler für die ASCIIEncoding Klasse Æ (U+00C6) zu AE (U+0041 + U+0045) zugeordnet werden. 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 öffentlichen bewährten Fallbackimplementierungen.

  • Ersatzfallback, das jedes Zeichen ersetzt, das nicht mit einer vordefinierten Zeichenfolge entschlüsselt werden kann. Der .NET Framework stellt einen vordefinierten Ersatz-Fallbackhandler bereit. Die DecoderReplacementFallback Klasse ersetzt jede Bytesequenz, die nicht mit einem Fragezeichen ("?", oder U+003F) oder einem ERSATZZEICHEN (U+FFFD) entschlüsselt werden kann. Sie können die Ersatzzeichenfolge anpassen, indem Sie einen Ersatz im Aufruf des DecoderReplacementFallback.DecoderReplacementFallback(String) Konstruktors angeben. Nachdem die Ersatzzeichenfolge gesendet wurde, konvertiert der Decodierungsvorgang weiterhin den Rest der Eingabe.

  • Ausnahmefallback, das eine Ausnahme auslöst, wenn eine Bytesequenz nicht entschlüsselt werden kann. Der .NET Framework stellt einen vordefinierten Ausnahme-Fallbackhandler bereit. Die DecoderExceptionFallback Klasse löst ein DecoderFallbackException , wenn eine ungültige Bytesequenz aufgetreten ist, und der Decodierungsvorgang wird beendet.

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

  • Die Methode, die eine Klasseninstanz zurückgibt, die CreateFallbackBuffer von DecoderFallbackBuffer. Abhängig vom Typ des Fallbackhandlers, den Sie entwickeln, ist die DecoderFallbackBuffer Implementierung verantwortlich für die Ausführung der Zuordnung oder des Ersatzes oder für das Auslösen der Ausnahme.

  • 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

DecoderFallback()

Initialisiert eine neue Instanz der DecoderFallback-Klasse.

Eigenschaften

ExceptionFallback

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

MaxCharCount

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

ReplacementFallback

Ruft ein Objekt ab, das eine Ersatzzeichenfolge anstelle einer Eingabebytefolge ausgibt, die nicht decodiert werden kann.

Methoden

CreateFallbackBuffer()

Initialisiert beim Überschreiben in einer abgeleiteten Klasse eine neue Instanz der DecoderFallbackBuffer-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