Partager via


EncoderFallback Classe

Définition

Fournit un mécanisme de gestion des défaillances, appelé secours, pour un caractère d’entrée qui ne peut pas être converti en séquence d’octets de sortie encodée.

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
Héritage
EncoderFallback
Dérivé
Attributs

Remarques

Un encodage mappe un caractère Unicode à une séquence codée d’octets. Un encodage particulier est représenté par un type dérivé de la Encoding classe. Plus précisément, un caractère est encodé dans une séquence d’octets en appelant la méthode du type d’encodageEncoding.GetBytes, et la séquence d’octets est décodée en tableau de caractères ou en chaîne en appelant la ou Encoding.GetString la Encoding.GetChars méthode.

Une opération d’encodage peut échouer si le caractère d’entrée ne peut pas être représenté par l’encodage. Par exemple, un ASCIIEncoding objet ne peut pas encoder un caractère dont la valeur de point de code Unicode est en dehors de la plage U+0000 à U+007F.

Lorsqu’une conversion d’encodage ne peut pas être effectuée, .NET Framework fournit un mécanisme de gestion des défaillances appelé secours. Votre application peut utiliser des secours d’encodeurs .NET Framework prédéfinis, ou créer un secours d’encodeur personnalisé dérivé des classes et EncoderFallbackBuffer des EncoderFallback classes.

EncoderFallback et EncoderFallbackBuffer sont les classes de base pour tous les gestionnaires de secours d’encodage dans le .NET Framework. Ils prennent en charge les trois types de mécanismes de gestion de secours suivants :

  • Secours adapté le mieux, qui mappe les caractères Unicode valides qui ne peuvent pas être encodés à un équivalent approximatif. Par exemple, un gestionnaire de secours adapté à la ASCIIEncoding classe peut mapper Æ (U+00C6) à AE (U+0041 + U+0045). Un gestionnaire de secours adapté peut également être implémenté pour translittérer un alphabet (tel que cyrillique) vers un autre (tel que latin ou romain). Le .NET Framework ne fournit aucune implémentation de secours adaptée au public.

  • Remplacement de secours, qui remplace chaque caractère qui ne peut pas être encodé par une chaîne prédéfinie. Le .NET Framework fournit un gestionnaire de secours de remplacement prédéfini. La EncoderReplacementFallback classe remplace chaque séquence d’octets qui ne peut pas être décodée par un caractère de point d’interrogation (« ? », ou U+003F) ou un CARACTÈRE DE REMPLACEMENT (U+FFFD). Vous pouvez personnaliser la chaîne de remplacement en spécifiant un substitut dans l’appel au EncoderReplacementFallback.EncoderReplacementFallback(String) constructeur. Une fois la chaîne de remplacement émise, l’opération d’encodage continue de convertir le reste de l’entrée.

  • Secours d’exception, qui lève une exception lorsqu’un caractère ne peut pas être encodé. .NET Framework fournit un gestionnaire de secours d’exception prédéfini. La EncoderExceptionFallback classe lève un EncoderFallbackException caractère non valide et l’opération d’encodage se termine.

Si vous choisissez d’implémenter une solution personnalisée, vous devez remplacer les membres abstraits suivants de la EncoderFallback classe :

  • Méthode CreateFallbackBuffer , qui retourne une instance de classe dérivée de EncoderFallbackBuffer. Selon le type de gestionnaire de secours que vous développez, l’implémentation EncoderFallbackBuffer est chargée d’effectuer le mappage ou le remplacement, ou de lever l’exception.

  • Propriété MaxCharCount , qui retourne le nombre maximal de caractères que l’implémentation de secours peut retourner. Pour un gestionnaire de secours d’exception, sa valeur doit être égale à zéro.

Pour plus d’informations sur l’encodage, le décodage et les stratégies de secours, consultez Encodage de caractères dans le .NET Framework.

Constructeurs

Nom Description
EncoderFallback()

Initialise une nouvelle instance de la classe EncoderFallback.

Propriétés

Nom Description
ExceptionFallback

Obtient un objet qui lève une exception lorsqu’un caractère d’entrée ne peut pas être encodé.

MaxCharCount

En cas de substitution dans une classe dérivée, obtient le nombre maximal de caractères que l’objet actuel EncoderFallback peut retourner.

ReplacementFallback

Obtient un objet qui génère une chaîne de remplacement à la place d’un caractère d’entrée qui ne peut pas être encodé.

Méthodes

Nom Description
CreateFallbackBuffer()

En cas de substitution dans une classe dérivée, initialise une nouvelle instance de la EncoderFallbackBuffer classe.

Equals(Object)

Détermine si l’objet spécifié est égal à l’objet actuel.

(Hérité de Object)
GetHashCode()

Sert de fonction de hachage par défaut.

(Hérité de Object)
GetType()

Obtient la Type de l’instance actuelle.

(Hérité de Object)
MemberwiseClone()

Crée une copie superficielle du Objectactuel.

(Hérité de Object)
ToString()

Retourne une chaîne qui représente l’objet actuel.

(Hérité de Object)

S’applique à

Voir aussi