DecoderFallback Klas

Definitie

Biedt een mechanisme voor foutafhandeling, een terugval genoemd, voor een gecodeerde bytevolgorde voor invoer die niet kan worden geconverteerd naar een uitvoerteken.

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
Overname
DecoderFallback
Afgeleid
Kenmerken

Opmerkingen

Een codering wijst een Unicode-teken toe aan een gecodeerde reeks bytes. Een bepaalde codering wordt vertegenwoordigd door een type dat is afgeleid van de Encoding klasse. Een teken wordt met name gecodeerd in een bytereeks door de methode van Encoding.GetBytes het coderingstype aan te roepen en de bytereeks wordt gedecodeerd naar een tekenmatrix of een tekenreeks door de Encoding.GetChars of Encoding.GetString methode aan te roepen.

Een decoderingsbewerking kan mislukken als de invoer bytereeks niet kan worden toegewezen door de codering. Een object kan bijvoorbeeld ASCIIEncoding een bytereeks niet decoderen als die reeks een teken vertegenwoordigt dat een codepuntwaarde bevat die buiten het bereik U+0000 tot U+007F valt.

Wanneer een decoderingsconversie niet kan worden uitgevoerd, biedt .NET Framework een mechanisme voor foutafhandeling dat een terugval wordt genoemd. Uw toepassing kan vooraf gedefinieerde .NET Framework-decoderterbacks gebruiken of kan een aangepaste decoderback maken die is afgeleid van de klassen DecoderFallback en DecoderFallbackBuffer.

DecoderFallback en DecoderFallbackBuffer zijn de basisklassen voor alle decoderingshandlers in het .NET Framework. Ze ondersteunen de volgende drie soorten terugvalafhandelingsmechanismen:

  • Meest geschikte terugval, waarmee geldige Unicode-tekens worden toegewezen die niet kunnen worden gedecodeerd naar een geschatte equivalent. Een best passende terugvalhandler voor de ASCIIEncoding klasse kan bijvoorbeeld Æ (U+00C6) toewijzen aan AE (U+0041 + U+0045). Een geschiktste terugvalhandler kan ook worden geïmplementeerd om één alfabet (zoals Cyrillisch) te translitereren naar een ander (zoals Latijns of Romeins). .NET Framework biedt geen openbare best passende terugval-implementaties.

  • Vervangende terugval, die elk teken vervangt dat niet kan worden gedecodeerd door een vooraf gedefinieerde tekenreeks. .NET Framework biedt een vooraf gedefinieerde vervangingshandler. De DecoderReplacementFallback klasse vervangt elke bytereeks die niet kan worden gedecodeerd met een vraagteken (', of U+003F) of een VERVANGEND TEKEN (U+FFFD). U kunt de vervangende tekenreeks aanpassen door een vervanging op te geven in de aanroep naar de DecoderReplacementFallback.DecoderReplacementFallback(String) constructor. Nadat de vervangende tekenreeks is verzonden, blijft de coderingsbewerking de rest van de invoer converteren.

  • Uitzonderingsterugval, waardoor een uitzondering wordt gegenereerd wanneer een bytereeks niet kan worden gedecodeerd. .NET Framework biedt een vooraf gedefinieerde uitzonderingsbackhandler. De DecoderExceptionFallback klasse genereert een DecoderFallbackException wanneer er een ongeldige bytereeks wordt aangetroffen en de decoderingsbewerking wordt beëindigd.

Als u ervoor kiest om een aangepaste oplossing te implementeren, moet u de volgende abstracte leden van de DecoderFallback klasse overschrijven:

  • De CreateFallbackBuffer methode, die een klasse-exemplaar retourneert dat is afgeleid van DecoderFallbackBuffer. Afhankelijk van het type terugvalhandler dat u ontwikkelt, is de DecoderFallbackBuffer implementatie verantwoordelijk voor het uitvoeren van de toewijzing of vervanging of voor het genereren van de uitzondering.

  • De MaxCharCount eigenschap, die het maximum aantal tekens retourneert dat door de terugval-implementatie kan worden geretourneerd. Voor een terugvalhandler voor uitzonderingen moet de waarde nul zijn.

Zie Character Encoding in het .NET Framework voor meer informatie over coderings-, coderings- en terugvalstrategieën.

Constructors

Name Description
DecoderFallback()

Initialiseert een nieuw exemplaar van de DecoderFallback klasse.

Eigenschappen

Name Description
ExceptionFallback

Hiermee wordt een object opgehaald dat een uitzondering genereert wanneer een invoer bytevolgorde niet kan worden gedecodeerd.

MaxCharCount

Wanneer het wordt overschreven in een afgeleide klasse, wordt het maximum aantal tekens opgehaald dat het huidige DecoderFallback object kan retourneren.

ReplacementFallback

Hiermee wordt een object opgehaald dat een vervangende tekenreeks uitvoert in plaats van een invoer bytereeks die niet kan worden gedecodeerd.

Methoden

Name Description
CreateFallbackBuffer()

Wanneer deze wordt overschreven in een afgeleide klasse, initialiseert u een nieuw exemplaar van de DecoderFallbackBuffer klasse.

Equals(Object)

Bepaalt of het opgegeven object gelijk is aan het huidige object.

(Overgenomen van Object)
GetHashCode()

Fungeert als de standaardhashfunctie.

(Overgenomen van Object)
GetType()

Hiermee haalt u de Type huidige instantie op.

(Overgenomen van Object)
MemberwiseClone()

Hiermee maakt u een ondiepe kopie van de huidige Object.

(Overgenomen van Object)
ToString()

Retourneert een tekenreeks die het huidige object vertegenwoordigt.

(Overgenomen van Object)

Van toepassing op

Zie ook