EncoderFallback Klass
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Tillhandahåller en mekanism för felhantering, som kallas återställning, för ett indatatecken som inte kan konverteras till en kodad bytesekvens för utdata.
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
- Arv
-
EncoderFallback
- 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 kodningsåtgärd kan misslyckas om indatatecknet inte kan representeras av kodningen. Ett objekt kan till exempel ASCIIEncoding inte koda ett tecken vars Unicode-kodpunktsvärde ligger utanför intervallet U+0000 till U+007F.
När en kodningskonvertering 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-kodaråterfall eller skapa en anpassad kodaråterställning som härleds från klasserna EncoderFallback och EncoderFallbackBuffer.
EncoderFallback och EncoderFallbackBuffer är basklasserna för alla kodningså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 kodas 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 kodas med en fördefinierad sträng. .NET Framework tillhandahåller en fördefinierad reservhanterare för ersättning. Klassen EncoderReplacementFallback 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 EncoderReplacementFallback.EncoderReplacementFallback(String) konstruktorn. När ersättningssträngen har genererats fortsätter kodningsåtgärden att konvertera resten av indata.
Undantagsåterställning, vilket utlöser ett undantag när ett tecken inte kan kodas. .NET Framework tillhandahåller en fördefinierad undantagsåterställningshanterare. Klassen EncoderExceptionFallback genererar ett EncoderFallbackException när ett ogiltigt tecken påträffas och kodningsåtgärden avslutas.
Om du väljer att implementera en anpassad lösning måste du åsidosätta följande abstrakta medlemmar i EncoderFallback klassen:
Metoden CreateFallbackBuffer , som returnerar en klassinstans som härletts från EncoderFallbackBuffer. Beroende på vilken typ av reservhanterare du utvecklar ansvarar implementeringen EncoderFallbackBuffer 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 |
|---|---|
| EncoderFallback() |
Initierar en ny instans av EncoderFallback klassen. |
Egenskaper
| Name | Description |
|---|---|
| ExceptionFallback |
Hämtar ett objekt som utlöser ett undantag när ett indatatecken inte kan kodas. |
| MaxCharCount |
När det åsidosättas i en härledd klass får du det maximala antalet tecken som det aktuella EncoderFallback objektet kan returnera. |
| ReplacementFallback |
Hämtar ett objekt som matar ut en ersättningssträng i stället för ett indatatecken som inte kan kodas. |
Metoder
| Name | Description |
|---|---|
| CreateFallbackBuffer() |
När den åsidosättas i en härledd klass initieras en ny instans av EncoderFallbackBuffer 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) |