Pour afficher l’article en anglais, activez la case d’option Anglais. Vous pouvez aussi afficher la version anglaise dans une fenêtre contextuelle en faisant glisser le pointeur de la souris sur le texte.
Traduction
Anglais
Cette documentation est archivée et n’est pas conservée.

DecoderFallback, classe

Fournit un mécanisme de gestion des erreurs, appelé secours, quand une séquence d'octets codée en entrée ne peut pas être convertie en un caractère de sortie.

Espace de noms :  System.Text
Assembly :  mscorlib (dans mscorlib.dll)

[SerializableAttribute]
public abstract class DecoderFallback

Le type DecoderFallback expose les membres suivants.

  NomDescription
Méthode protégéeDecoderFallbackInitialise une nouvelle instance de la classe DecoderFallback.
Début

  NomDescription
Propriété publiqueMembre statiqueExceptionFallbackObtient un objet qui lève une exception quand une séquence d'octets en entrée ne peut pas être décodée.
Propriété publiqueMaxCharCountEn cas de substitution dans une classe dérivée, obtient le nombre maximal de caractères que l'objet DecoderFallback en cours peut retourner.
Propriété publiqueMembre statiqueReplacementFallbackObtient un objet qui produit une chaîne de substitution à la place de la séquence d'octets en entrée qui ne peut pas être décodée.
Début

  NomDescription
Méthode publiqueCreateFallbackBufferEn cas de substitution dans une classe dérivée, initialise une nouvelle instance de la classe DecoderFallbackBuffer.
Méthode publiqueEquals(Object)Détermine si l'Object spécifié est égal à l'Object en cours. (Hérité de Object.)
Méthode protégéeFinalize Autorise un objet à tenter de libérer des ressources et d'exécuter d'autres opérations de nettoyage avant qu'il ne soit récupéré par l'opération garbage collection. (Hérité de Object.)
Méthode publiqueGetHashCodeSert de fonction de hachage pour un type particulier. (Hérité de Object.)
Méthode publiqueGetTypeObtient le Type de l'instance actuelle. (Hérité de Object.)
Méthode protégéeMemberwiseCloneCrée une copie superficielle de l'objet Object actif. (Hérité de Object.)
Méthode publiqueToStringRetourne une chaîne qui représente l'objet actuel. (Hérité de Object.)
Début

Un encodage mappe un caractère Unicode vers une séquence codée d'octets. Un encodage particulier est représenté par un type qui est dérivé de la classe Encoding. Spécifiquement, un caractère est encodé dans une séquence d'octets en appelant la méthode Encoding.GetBytes(String) du type d'encodage, et la séquence d'octets est décodée dans un tableau ou une chaîne de caractères en appelant la méthode Encoding.GetChars(Byte[]) ou Encoding.GetString(Byte[]).

Une opération de décodage peut échouer si la séquence d'octets en entrée ne peut pas être mappée par le codage. Par exemple, un objet ASCIIEncoding ne peut pas décoder une séquence d'octets si cette séquence représente un caractère dont la valeur de point de code se situe à l'extérieur de la plage comprise entre U+0000 et U+007F.

Quand la conversion du décodage ne peut pas être effectuée, le .NET Framework fournit un mécanisme de gestion de défaillance, appelé secours. Votre application peut utiliser l'encodeur de secours prédéfini du .NET Framework, ou créer un encodeur de secours personnalisé dérivé des classes DecoderFallback et DecoderFallbackBuffer.

DecoderFallback et DecoderFallbackBuffer sont les classes de base de tous les gestionnaires de secours du décodage dans le .NET Framework. Ils prennent en charge les trois types suivants de secours qui gère des mécanismes :

  • Secours ajusté, qui mappe les caractères Unicode valides qui ne peuvent pas être décodés en un équivalent approximatif. Par exemple, un gestionnaire de secours ajusté pour la classe ASCIIEncoding peut mapper Æ (U+00C6) à AE (U+0041 + U+0045). Un gestionnaire de secours ajusté peut également être implémenté pour transcrire un alphabet (tel que cyrillique) vers un autre (tel que latin ou romain). Le .NET Framework ne fournit pas d'implémentations de secours ajustées publiques.

  • Secours de remplacement qui remplace chaque caractère qui ne peut pas être décodé par une chaîne prédéfinie. Le .NET Framework fournit un gestionnaire de secours de remplacement prédéfini. La classe DecoderReplacementFallback remplace chaque séquence d'octets qui ne peut pas être décodée avec un caractère 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 du constructeur DecoderReplacementFallback.DecoderReplacementFallback(String). Une fois la chaîne de substitution émise, l'opération de décodage poursuit la conversion du reste de l'entrée.

  • Exception de secours qui lève une exception lorsqu'une séquence d'octets ne peut pas être décodée. Le .NET Framework fournit un gestionnaire d'exceptions de secours prédéfini. La classe DecoderExceptionFallback lève une DecoderFallbackException lorsqu'une séquence d'octets non valide est rencontrée et que l'opération de décodage termine.

Si vous choisissez d'implémenter une solution personnalisée, vous devez substituer les membres abstraits suivants de la classe DecoderFallback :

  • La méthode CreateFallbackBuffer, qui retourne une instance de classe dérivée de DecoderFallbackBuffer. Selon le type de gestionnaire de secours que vous développez, l'implémentation DecoderFallbackBuffer est chargée de l'exécution du mappage ou du remplacement, ou bien de la levée de l'exception.

  • La propriété MaxCharCount, qui retourne le nombre maximal de caractères que l'implémentation de secours peut retourner. Pour un gestionnaire d'exceptions de secours, 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.

.NET Framework

Pris en charge dans : 4, 3.5, 3.0, 2.0

.NET Framework Client Profile

Pris en charge dans : 4, 3.5 SP1

Windows 7, Windows Vista SP1 ou ultérieur, Windows XP SP3, Windows XP SP2 Édition x64, Windows Server 2008 (installation minimale non prise en charge), Windows Server 2008 R2 (installation minimale prise en charge avec SP1 ou version ultérieure), Windows Server 2003 SP2

Le .NET Framework ne prend pas en charge toutes les versions de chaque plateforme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise du .NET Framework.

Tous les membres static (Shared en Visual Basic) publics de ce type sont thread-safe. Il n'est pas garanti que les membres d'instance soient thread-safe.

Date

Historique

Motif

Octobre 2010

Nombreuses modifications.

Améliorations apportées aux informations.

Afficher: