EncoderFallback Klasa

Definicja

Zapewnia mechanizm obsługi niepowodzeń o nazwie Fallback dla znaku wejściowego, którego nie można przekonwertować na zakodowaną sekwencję bajtów wyjściowych.Provides a failure-handling mechanism, called a fallback, for an input character that cannot be converted to an encoded output byte sequence.

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
Dziedziczenie
EncoderFallback
Pochodne
Atrybuty

Uwagi

Kodowanie mapuje znak Unicode na zakodowaną sekwencję bajtów.An encoding maps a Unicode character to an encoded sequence of bytes. Określone kodowanie jest reprezentowane przez typ, który pochodzi od Encoding klasy.A particular encoding is represented by a type that is derived from the Encoding class. W celu zakodowania znaku w sekwencji bajtów przez wywołanie metody typu kodowania Encoding.GetBytes , a sekwencja bajtów jest zdekodowana do tablicy znaków lub ciągu przez wywołanie Encoding.GetChars Encoding.GetString metody lub.Specifically, a character is encoded to a byte sequence by calling the encoding type's Encoding.GetBytes method, and the byte sequence is decoded to a character array or a string by calling the Encoding.GetChars or Encoding.GetString method.

Operacja kodowania może zakończyć się niepowodzeniem, jeśli znak wejściowy nie może być reprezentowany przez kodowanie.An encoding operation can fail if the input character cannot be represented by the encoding. Na przykład ASCIIEncoding obiekt nie może zakodować znaku, którego wartość punktu kodowego Unicode znajduje się poza zakresem u + 0000 do u + 007F.For example, an ASCIIEncoding object cannot encode a character whose Unicode code point value is outside the range U+0000 to U+007F.

Gdy nie można wykonać konwersji kodowania, .NET Framework zapewnia mechanizm obsługi niepowodzeń o nazwie Fallback.When an encoding conversion cannot be performed, the .NET Framework provides a failure-handling mechanism called a fallback. Twoja aplikacja może używać wstępnie zdefiniowanych rezerw .NET Framework Encoder lub można utworzyć niestandardowe powrotu do kodera pochodnego od EncoderFallback klas i EncoderFallbackBuffer .Your application can use predefined .NET Framework encoder fallbacks, or it can create a custom encoder fallback derived from the EncoderFallback and EncoderFallbackBuffer classes.

EncoderFallback i EncoderFallbackBuffer są klasami podstawowymi dla wszystkich programów obsługi rezerwy kodowania w .NET Framework.EncoderFallback and EncoderFallbackBuffer are the base classes for all encoding fallback handlers in the .NET Framework. Obsługują następujące trzy rodzaje mechanizmów obsługi powrotu:They support the following three kinds of fallback handling mechanisms:

  • Najlepiej dopasowana rezerwa, która mapuje prawidłowe znaki Unicode, których nie można zakodować do przybliżonego odpowiednika.Best-fit fallback, which maps valid Unicode characters that cannot be encoded to an approximate equivalent. Na przykład Optymalna obsługa rezerw dla ASCIIEncoding klasy może mapować Æ (u + 00C6) na AE (u + 0041 + U + 0045).For example, a best-fit fallback handler for the ASCIIEncoding class might map Æ (U+00C6) to AE (U+0041 + U+0045). Optymalna obsługa rezerw może być również zaimplementowana w celu zatransliteracji jednego alfabetu (takiego jak cyrylica) na inny (na przykład łaciński lub Roman).A best-fit fallback handler might also be implemented to transliterate one alphabet (such as Cyrillic) to another (such as Latin or Roman). .NET Framework nie zapewnia żadnych publicznie zalecanych implementacji rezerwowych.The .NET Framework does not provide any public best-fit fallback implementations.

  • Rezerwa zastępcza, która zamienia każdy znak, który nie może być zakodowany ze wstępnie zdefiniowanym ciągiem.Replacement fallback, which replaces each character that cannot be encoded with a predefined string. .NET Framework udostępnia wstępnie zdefiniowaną procedurę wymiany rezerwowej.The .NET Framework provides a predefined replacement fallback handler. EncoderReplacementFallbackKlasa zastępuje każdą sekwencję bajtów, której nie można zdekodować za pomocą znaku zapytania ("?" lub U + 003F) lub znaku zastępczego (u + FFFD).The EncoderReplacementFallback class replaces each byte sequence that cannot be decoded with a question mark character ("?", or U+003F) or a REPLACEMENT CHARACTER (U+FFFD). Można dostosować ciąg zamienny, określając substytut w wywołaniu EncoderReplacementFallback.EncoderReplacementFallback(String) konstruktora.You can customize the replacement string by specifying a substitute in the call to the EncoderReplacementFallback.EncoderReplacementFallback(String) constructor. Po wyemitowaniu podstawianego ciągu operacja kodowania kontynuuje konwersję pozostałej części danych wejściowych.After the substitute string is emitted, the encoding operation continues converting the remainder of the input.

  • Rezerwowy wyjątek, który zgłasza wyjątek, gdy nie można zakodować znaku.Exception fallback, which throws an exception when a character cannot be encoded. .NET Framework udostępnia wstępnie zdefiniowaną procedurę obsługi rezerwy wyjątku.The .NET Framework provides a predefined exception fallback handler. EncoderExceptionFallbackKlasa zgłasza EncoderFallbackException błąd podczas napotkania nieprawidłowego znaku i operacja kodowania kończy się.The EncoderExceptionFallback class throws an EncoderFallbackException when an invalid character is encountered, and the encoding operation terminates.

W przypadku wybrania opcji wdrożenia niestandardowego rozwiązania należy zastąpić następujące abstrakcyjne elementy członkowskie EncoderFallback klasy:If you choose to implement a custom solution, you must override the following abstract members of the EncoderFallback class:

  • CreateFallbackBufferMetoda zwracająca wystąpienie klasy pochodne od EncoderFallbackBuffer .The CreateFallbackBuffer method, which returns a class instance derived from EncoderFallbackBuffer. W zależności od typu programowania rezerwowego, EncoderFallbackBuffer implementacja jest odpowiedzialna za wykonywanie mapowania lub zamiany, lub na wyrzucanie wyjątku.Depending on the type of fallback handler that you are developing, the EncoderFallbackBuffer implementation is responsible for performing the mapping or replacement, or for throwing the exception.

  • MaxCharCountWłaściwość, która zwraca maksymalną liczbę znaków, jaką może zwrócić implementacja powrotu.The MaxCharCount property, which returns the maximum number of characters that the fallback implementation can return. W przypadku procedury obsługi rezerwowej wyjątku jej wartość powinna być równa zero.For an exception fallback handler, its value should be zero.

Aby uzyskać więcej informacji na temat kodowania, dekodowania i strategii powrotu, zobacz kodowanie znaków w .NET Framework.For more information about encoding, decoding, and fallback strategies, see Character Encoding in the .NET Framework.

Konstruktory

EncoderFallback()

Inicjuje nowe wystąpienie klasy EncoderFallback.Initializes a new instance of the EncoderFallback class.

Właściwości

ExceptionFallback

Pobiera obiekt, który zgłasza wyjątek, gdy nie można zakodować znaku wejściowego.Gets an object that throws an exception when an input character cannot be encoded.

MaxCharCount

Gdy jest zastępowany w klasie pochodnej, Pobiera maksymalną liczbę znaków, jaką EncoderFallback może zwrócić bieżący obiekt.When overridden in a derived class, gets the maximum number of characters the current EncoderFallback object can return.

ReplacementFallback

Pobiera obiekt, który wyprowadza zastępczy ciąg zamiast znaku wejściowego, którego nie można zakodować.Gets an object that outputs a substitute string in place of an input character that cannot be encoded.

Metody

CreateFallbackBuffer()

Gdy jest zastępowany w klasie pochodnej, Inicjuje nowe wystąpienie EncoderFallbackBuffer klasy.When overridden in a derived class, initializes a new instance of the EncoderFallbackBuffer class.

Equals(Object)

Określa, czy dany obiekt jest taki sam, jak bieżący obiekt.Determines whether the specified object is equal to the current object.

(Odziedziczone po Object)
GetHashCode()

Służy jako domyślna funkcja skrótu.Serves as the default hash function.

(Odziedziczone po Object)
GetType()

Pobiera Type bieżące wystąpienie.Gets the Type of the current instance.

(Odziedziczone po Object)
MemberwiseClone()

Tworzy skróconą kopię bieżącego elementu Object .Creates a shallow copy of the current Object.

(Odziedziczone po Object)
ToString()

Zwraca ciąg reprezentujący bieżący obiekt.Returns a string that represents the current object.

(Odziedziczone po Object)

Dotyczy

Zobacz też