DecoderFallback Klass

Definition

Tillhandahåller en mekanism för felhantering, som kallas återställning, för en kodad indatabytesekvens som inte kan konverteras till ett utdatatecken.

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
Arv
DecoderFallback
Härledda
Attribut

Kommentarer

En kodning mappar ett Unicode-tecken till en kodad sekvens med byte. En viss kodning representeras av en typ som härleds från Encoding klassen. Mer specifikt kodas ett tecken till en bytesekvens genom att anropa kodningstypens Encoding.GetBytes metod, och bytesekvensen avkodas till en teckenmatris eller en sträng genom att anropa Encoding.GetChars metoden eller Encoding.GetString .

En avkodningsåtgärd kan misslyckas om indatabytesekvensen inte kan mappas av kodningen. Ett objekt kan till exempel ASCIIEncoding inte avkoda en bytesekvens om sekvensen representerar ett tecken som har ett kodpunktsvärde som ligger utanför intervallet U+0000 till U+007F.

När en avkodningskonvertering inte kan utföras tillhandahåller .NET Framework en mekanism för felhantering som kallas återställning. Ditt program kan använda fördefinierade .NET Framework-återställningar för avkodare, eller skapa en anpassad återställning av avkodaren som härletts från klasserna DecoderFallback och DecoderFallbackBuffer.

DecoderFallback och DecoderFallbackBuffer är basklasserna för alla avkodningsåterställningshanterare i .NET Framework. De stöder följande tre typer av mekanismer för reservhantering:

  • Reserv som passar bäst, som mappar giltiga Unicode-tecken som inte kan avkodas till en ungefärlig motsvarighet. En reservhanterare som passar bäst för ASCIIEncoding klassen kan till exempel mappa Æ (U+00C6) till AE (U+0041 + U+0045). En reservhanterare som passar bäst kan också implementeras för att translitterera ett alfabet (till exempel kyrillisk) till ett annat (till exempel latinskt eller romerskt). .NET Framework tillhandahåller inga offentliga implementeringar av bästa möjliga återställning.

  • Ersättningsåterställning, som ersätter varje tecken som inte kan avkodas med en fördefinierad sträng. .NET Framework tillhandahåller en fördefinierad reservhanterare för ersättning. Klassen DecoderReplacementFallback ersätter varje bytesekvens som inte kan avkodas med ett frågetecken ("?", U+003F) eller en REPLACEMENT CHARACTER (U+FFFD). Du kan anpassa ersättningssträngen genom att ange en ersättning i anropet till DecoderReplacementFallback.DecoderReplacementFallback(String) konstruktorn. När ersättningssträngen har genererats fortsätter avkodningsåtgärden att konvertera resten av indata.

  • Undantagsåterställning, vilket utlöser ett undantag när en bytesekvens inte kan avkodas. .NET Framework tillhandahåller en fördefinierad undantagsåterställningshanterare. Klassen DecoderExceptionFallback genererar en DecoderFallbackException när en ogiltig bytesekvens påträffas och avkodningsåtgärden avslutas.

Om du väljer att implementera en anpassad lösning måste du åsidosätta följande abstrakta medlemmar i DecoderFallback klassen:

  • Metoden CreateFallbackBuffer , som returnerar en klassinstans som härletts från DecoderFallbackBuffer. Beroende på vilken typ av reservhanterare du utvecklar ansvarar implementeringen DecoderFallbackBuffer för att utföra mappningen eller ersättningen, eller för att utlösa undantaget.

  • Egenskapen MaxCharCount som returnerar det maximala antalet tecken som återställningsimplementeringen kan returnera. För en undantagsåterställningshanterare ska dess värde vara noll.

Mer information om kodning, avkodning och återställningsstrategier finns i Character Encoding i .NET Framework.

Konstruktorer

Name Description
DecoderFallback()

Initierar en ny instans av DecoderFallback klassen.

Egenskaper

Name Description
ExceptionFallback

Hämtar ett objekt som utlöser ett undantag när en indatabytesekvens inte kan avkodas.

MaxCharCount

När det åsidosättas i en härledd klass får du det maximala antalet tecken som det aktuella DecoderFallback objektet kan returnera.

ReplacementFallback

Hämtar ett objekt som matar ut en ersättningssträng i stället för en indatabytesekvens som inte kan avkodas.

Metoder

Name Description
CreateFallbackBuffer()

När den åsidosättas i en härledd klass initieras en ny instans av DecoderFallbackBuffer klassen.

Equals(Object)

Avgör om det angivna objektet är lika med det aktuella objektet.

(Ärvd från Object)
GetHashCode()

Fungerar som standard-hash-funktion.

(Ärvd från Object)
GetType()

Hämtar den aktuella instansen Type .

(Ärvd från Object)
MemberwiseClone()

Skapar en ytlig kopia av den aktuella Object.

(Ärvd från Object)
ToString()

Returnerar en sträng som representerar det aktuella objektet.

(Ärvd från Object)

Gäller för

Se även