Freigeben über


EncoderFallback Klasse

Definition

Stellt einen Fehlerbehandlungsmechanismus bereit, der als Fallback bezeichnet wird, für ein Eingabezeichen, das nicht in eine codierte Ausgabebytesequenz 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 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 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 bis U+007F befindet.

Wenn keine Codierungskonvertierung ausgeführt werden kann, stellt .NET Framework einen Mechanismus zur Fehlerbehandlung bereit, der als Fallback bezeichnet wird. Ihre Anwendung kann vordefinierte .NET Framework-Encoder-Fallbacks verwenden oder ein von den EncoderFallback Klassen EncoderFallbackBuffer abgeleitetes benutzerdefiniertes Encoder-Fallback erstellen.

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

  • Am besten geeigneten Fallback, der gültige Unicode-Zeichen zuordnet, die nicht mit einer ungefähren Entsprechung codiert 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 mit einer vordefinierten Zeichenfolge codiert werden kann. .NET Framework stellt einen vordefinierten Ersatz-Fallbackhandler bereit. Die EncoderReplacementFallback 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 EncoderReplacementFallback.EncoderReplacementFallback(String) Konstruktors angeben. Nachdem die Ersatzzeichenfolge ausgegeben wurde, konvertiert der Codierungsvorgang weiterhin den Rest der Eingabe.

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

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

  • Die CreateFallbackBuffer Methode, die eine Klasseninstanz zurückgibt, die von EncoderFallbackBuffer. Abhängig vom Typ des von Ihnen entwickelten Fallbackhandlers ist die Implementierung für die EncoderFallbackBuffer 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
EncoderFallback()

Initialisiert eine neue Instanz der EncoderFallback-Klasse.

Eigenschaften

Name Beschreibung
ExceptionFallback

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

MaxCharCount

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

ReplacementFallback

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

Methoden

Name Beschreibung
CreateFallbackBuffer()

Wenn eine abgeleitete Klasse außer Kraft gesetzt wird, initialisiert sie eine neue Instanz der EncoderFallbackBuffer 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