Freigeben über


DecoderFallback Klasse

Definition

Stellt einen Fehlerbehandlungsmechanismus bereit, der als Fallback bezeichnet wird, für eine codierte Eingabebytesequenz, 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 ein Unicode-Zeichen einer codierten Bytesequenz 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.GetChars Methode Encoding.GetString aufgerufen wird.

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

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

DecoderFallback und DecoderFallbackBuffer sind die Basisklassen für alle Decodierungsfallbackhandler in .NET Framework. Sie unterstützen die folgenden drei Arten von Fallbackbehandlungsmechanismen:

  • Optimal geeigneter Fallback, der gültige Unicode-Zeichen zuordnet, die nicht mit einer ungefähren Entsprechung decodiert werden können. Beispielsweise kann ein fallbackfähiger Fallbackhandler für die ASCIIEncoding Klasse Æ (U+00C6) zu AE (U+0041 + U+0045) zuordnen. Ein passgenauer Fallbackhandler kann auch implementiert werden, um ein Alphabet (z. B. Kyrillisch) in ein anderes (z. B. Lateinisch oder Roman) zu transliterieren. .NET Framework stellt keine public best-fit-Fallbackimplementierungen bereit.

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

  • Ausnahmefallback, das eine Ausnahme auslöst, wenn eine Bytesequenz nicht decodiert werden kann. .NET Framework stellt einen vordefinierten Ausnahmefallbackhandler bereit. Die DecoderExceptionFallback Klasse löst ein DecoderFallbackException , wenn eine ungültige Bytesequenz gefunden wird und der Decodierungsvorgang beendet wird.

Wenn Sie eine benutzerdefinierte Lösung implementieren möchten, müssen Sie die folgenden abstrakten Elemente der DecoderFallback Klasse überschreiben:

  • Die CreateFallbackBuffer Methode, die eine Klasseninstanz zurückgibt, die von DecoderFallbackBuffer. Abhängig vom Typ des von Ihnen entwickelten Fallbackhandlers ist die Implementierung für die DecoderFallbackBuffer Durchführung der Zuordnung oder des Ersatzes 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. Bei einem Ausnahmefallbackhandler sollte der Wert null sein.

Weitere Informationen zu Codierungs-, Decodierungs- und Fallbackstrategien finden Sie unter Character Encoding in .NET Framework.

Konstruktoren

Name Beschreibung
DecoderFallback()

Initialisiert eine neue Instanz der DecoderFallback-Klasse.

Eigenschaften

Name Beschreibung
ExceptionFallback

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

MaxCharCount

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

ReplacementFallback

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

Methoden

Name Beschreibung
CreateFallbackBuffer()

Wenn eine abgeleitete Klasse außer Kraft gesetzt wird, initialisiert sie eine neue Instanz der DecoderFallbackBuffer Klasse.

Equals(Object)

Bestimmt, ob das angegebene Objekt dem aktuellen Objekt entspricht.

(Geerbt von Object)
GetHashCode()

Dient als Standardhashfunktion.

(Geerbt von Object)
GetType()

Ruft die Type der aktuellen Instanz ab.

(Geerbt von Object)
MemberwiseClone()

Erstellt eine flache Kopie der aktuellen Object.

(Geerbt von Object)
ToString()

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

(Geerbt von Object)

Gilt für:

Weitere Informationen