EncoderFallback Osztály

Definíció

Hibakezelési mechanizmust, úgynevezett tartalékot biztosít egy olyan bemeneti karakterhez, amely nem konvertálható kódolt kimeneti bájtsorozattá.

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
Öröklődés
EncoderFallback
Származtatott
Attribútumok

Megjegyzések

A kódolás egy Unicode-karaktert bájtok kódolt sorozatára képez le. Egy adott kódolást az osztályból Encoding származtatott típus jelöl. A karaktereket a kódolási típus Encoding.GetBytes metódusának meghívásával egy bájtsorba kódolja a rendszer, a bájtsorrend pedig egy karaktertömbbe vagy egy sztringbe van dekódolva a Encoding.GetChars metódus meghívásával Encoding.GetString .

A kódolási művelet meghiúsulhat, ha a bemeneti karaktert nem lehet a kódolással ábrázolni. Egy objektum például nem kódolhat olyan karaktert, ASCIIEncoding amelynek Unicode-kódpontja az U+0000 és U+007F tartományon kívül esik.

Ha a kódolás konvertálása nem hajtható végre, a .NET-keretrendszer egy tartaléknak nevezett hibakezelési mechanizmust biztosít. Az alkalmazás használhat előre definiált .NET Keretrendszer kódolói tartalékokat, vagy létrehozhat egy egyéni kódoló tartalékot a EncoderFallback és EncoderFallbackBuffer osztályokból.

EncoderFallback és EncoderFallbackBuffer a .NET-keretrendszer összes kódolási tartalék kezelőjének alaposztályai. Az alábbi háromféle tartalékkezelési mechanizmust támogatják:

  • Legjobban illeszkedő tartalék, amely leképezi az érvényes Unicode-karaktereket, amelyek nem kódolhatók hozzávetőleges megfelelőre. Az osztály legjobban illeszkedő tartalék kezelője ASCIIEncoding például Æ (U+00C6) és AE (U+0041 + U+0045) lesz. A legjobban illeszkedő tartalék kezelő is implementálható úgy, hogy az egyik ábécét (például cirill betűt) egy másikra (például latinra vagy rómaira) transzliterálja. A .NET-keretrendszer nem biztosít nyilvánosan legjobban illeszkedő tartalék implementációkat.

  • Csere tartalék, amely minden olyan karaktert lecserél, amely nem kódolható előre definiált sztringre. A .NET-keretrendszer előre definiált tartalék tartalék kezelőt biztosít. Az EncoderReplacementFallback osztály minden olyan bájtsorozatot lecserél, amely nem dekódolható kérdőjel karakterrel ("?", U+003F) vagy HELYETTESÍTŐ KARAKTERREL (U+FFFD). A helyettesítő sztring testreszabásához adjon meg egy helyettesítőt a EncoderReplacementFallback.EncoderReplacementFallback(String) konstruktor hívásában. A helyettesítő sztring kibocsátása után a kódolási művelet folytatja a bemenet fennmaradó részének konvertálását.

  • Kivétel-tartalék, amely kivételt eredményez, ha egy karakter nem kódolható. A .NET-keretrendszer előre definiált kivétel-tartalékkezelőt biztosít. Az EncoderExceptionFallback osztály érvénytelen karaktert ad EncoderFallbackException , és a kódolási művelet leáll.

Ha egyéni megoldás implementálása mellett dönt, felül kell bírálnia az osztály alábbi absztrakt tagjait EncoderFallback :

  • A CreateFallbackBuffer metódus, amely egy osztálypéldányt ad EncoderFallbackBuffervissza. Attól függően, hogy milyen típusú tartalék kezelőt fejleszt, az EncoderFallbackBuffer implementáció felelős a leképezés vagy a csere végrehajtásáért, vagy a kivétel kivetéséért.

  • A MaxCharCount tulajdonság, amely a tartalék megvalósítás által visszaadható karakterek maximális számát adja vissza. Kivétel-tartalék kezelő esetén az értékének nullának kell lennie.

A kódolási, dekódolási és tartalék stratégiákról további információt a Character-kódolás a .NET Keretrendszerben talál.

Konstruktorok

Name Description
EncoderFallback()

Inicializálja a EncoderFallback osztály új példányát.

Tulajdonságok

Name Description
ExceptionFallback

Olyan objektumot kap, amely kivételt eredményez, ha egy bemeneti karakter nem kódolható.

MaxCharCount

Ha egy származtatott osztályban felül van bírálva, az aktuális EncoderFallback objektum által visszaadható karakterek maximális számát kapja meg.

ReplacementFallback

Olyan objektumot kap, amely egy nem kódolható bemeneti karakter helyett helyettesítő sztringet ad ki.

Metódusok

Name Description
CreateFallbackBuffer()

Ha egy származtatott osztályban felül van bírálva, inicializálja az osztály új példányát EncoderFallbackBuffer .

Equals(Object)

Meghatározza, hogy a megadott objektum egyenlő-e az aktuális objektummal.

(Öröklődés forrása Object)
GetHashCode()

Ez az alapértelmezett kivonatoló függvény.

(Öröklődés forrása Object)
GetType()

Lekéri az Type aktuális példányt.

(Öröklődés forrása Object)
MemberwiseClone()

Az aktuális Objectpéldány sekély másolatát hozza létre.

(Öröklődés forrása Object)
ToString()

Az aktuális objektumot jelképező sztringet ad vissza.

(Öröklődés forrása Object)

A következőre érvényes:

Lásd még