Cet article a fait l'objet d'une traduction manuelle. Déplacez votre pointeur sur les phrases de l'article pour voir la version originale de ce texte. |
Traduction
Source
|
UTF8Encoding, classe
Représente un encodage UTF-8 de caractères Unicode.
Assembly : mscorlib (dans mscorlib.dll)
Le type UTF8Encoding expose les membres suivants.
| Nom | Description | |
|---|---|---|
|
UTF8Encoding() | Initialise une nouvelle instance de la classe UTF8Encoding. |
|
UTF8Encoding(Boolean) | Initialise une nouvelle instance de la classe UTF8Encoding. Un paramètre spécifie si une marque d'ordre d'octet Unicode doit être fournie. |
|
UTF8Encoding(Boolean, Boolean) | Initialise une nouvelle instance de la classe UTF8Encoding. Les paramètres spécifient s'il faut fournir une marque d'ordre d'octet Unicode et si une exception doit être levée quand un encodage non valide est détecté. |
| Nom | Description | |
|---|---|---|
|
BodyName | Lors de la substitution dans une classe dérivée, obtient un nom pour l'encodage en cours qui peut être utilisé avec les balises de corps de texte de l'agent de messagerie. (Hérité de Encoding.) |
|
CodePage | En cas de substitution dans une classe dérivée, obtient l'identificateur de la page de codes du Encoding en cours. (Hérité de Encoding.) |
|
DecoderFallback | Obtient ou définit l'objet DecoderFallback en cours de l'objet Encoding en cours. (Hérité de Encoding.) |
|
EncoderFallback | Obtient ou définit l'objet EncoderFallback en cours de l'objet Encoding en cours. (Hérité de Encoding.) |
|
EncodingName | En cas de substitution dans une classe dérivée, obtient la description explicite de l'encodage en cours. (Hérité de Encoding.) |
|
HeaderName | Lors de la substitution dans une classe dérivée, obtient un nom pour l'encodage en cours qui peut être utilisé avec les balises d'en-tête de l'agent de messagerie. (Hérité de Encoding.) |
|
IsBrowserDisplay | Lors de la substitution dans une classe dérivée, obtient une valeur indiquant si l'encodage en cours peut être utilisé par les clients de navigateur pour afficher le contenu. (Hérité de Encoding.) |
|
IsBrowserSave | Lors de la substitution dans une classe dérivée, obtient une valeur indiquant si l'encodage en cours peut être utilisé par les clients de navigateur pour enregistrer le contenu. (Hérité de Encoding.) |
|
IsMailNewsDisplay | Lors de la substitution dans une classe dérivée, obtient une valeur indiquant si l'encodage en cours peut être utilisé par les clients de messagerie et de news pour afficher le contenu. (Hérité de Encoding.) |
|
IsMailNewsSave | Lors de la substitution dans une classe dérivée, obtient une valeur indiquant si l'encodage en cours peut être utilisé par les clients de messagerie et de news pour enregistrer le contenu. (Hérité de Encoding.) |
|
IsReadOnly | En cas de substitution dans une classe dérivée, obtient une valeur indiquant si l'encodage en cours est en lecture seule. (Hérité de Encoding.) |
|
IsSingleByte | En cas de substitution dans une classe dérivée, obtient une valeur indiquant si l'encodage en cours utilise des points de code codés sur un octet. (Hérité de Encoding.) |
|
WebName | Lors de la substitution dans une classe dérivée, obtient le nom enregistré auprès de l'IANA (Internet Assigned Numbers Authority) pour l'encodage en cours. (Hérité de Encoding.) |
|
WindowsCodePage | Lors de la substitution dans une classe dérivée, obtient la page de codes du système d'exploitation Windows la plus proche de l'encodage en cours. (Hérité de Encoding.) |
| Nom | Description | |
|---|---|---|
|
Clone | En cas de substitution dans une classe dérivée, crée une copie superficielle de l'objet Encoding en cours. (Hérité de Encoding.) |
|
Equals | Détermine si l'objet Object spécifié est égal à l'objet UTF8Encoding actuel. (Substitue Encoding.Equals(Object).) |
|
Finalize | Autorise un objet à tenter de libérer des ressources et d'exécuter d'autres opérations de netto***ge avant qu'il ne soit récupéré par l'opération garbage collection. (Hérité de Object.) |
|
GetByteCount(Char[]) | En cas de substitution dans une classe dérivée, calcule le nombre d'octets produits par l'encodage de tous les caractères du tableau de caractères spécifié. (Hérité de Encoding.) |
|
GetByteCount(String) | Calcule le nombre d'octets générés en encodant les caractères dans le String spécifié. (Substitue Encoding.GetByteCount(String).) |
|
GetByteCount(Char*, Int32) | Calcule le nombre d'octets produits par l'encodage d'un jeu de caractères commençant au pointeur de caractère spécifié. (Substitue Encoding.GetByteCount(Char*, Int32).) |
|
GetByteCount(Char[], Int32, Int32) | Calcule le nombre d'octets produits par l'encodage d'un jeu de caractères du tableau de caractères spécifié. (Substitue Encoding.GetByteCount(Char[], Int32, Int32).) |
|
GetBytes(Char[]) | En cas de substitution dans une classe dérivée, code tous les caractères du tableau de caractères spécifié en une séquence d'octets. (Hérité de Encoding.) |
|
GetBytes(String) |
En cas de substitution dans une classe dérivée, encode tous les caractères de la chaîne spécifiée en une séquence d'octets.
(Hérité de Encoding.) Dans XNA Framework, ce membre est substitué par GetBytes(String). |
|
GetBytes(Char[], Int32, Int32) | En cas de substitution dans une classe dérivée, code un jeu de caractères du tableau de caractères spécifié en une séquence d'octets. (Hérité de Encoding.) |
|
GetBytes(Char*, Int32, Byte*, Int32) | Code une séquence de caractères commençant au pointeur de caractère spécifié en une séquence d'octets, qui sera stockée à partir du pointeur d'octet spécifié. (Substitue Encoding.GetBytes(Char*, Int32, Byte*, Int32).) |
|
GetBytes(Char[], Int32, Int32, Byte[], Int32) | Code un ensemble de caractères du tableau de caractères spécifié en un tableau d'octets indiqué. (Substitue Encoding.GetBytes(Char[], Int32, Int32, Byte[], Int32).) |
|
GetBytes(String, Int32, Int32, Byte[], Int32) | Code un jeu de caractères de la chaîne String spécifiée dans le tableau d'octets indiqué. (Substitue Encoding.GetBytes(String, Int32, Int32, Byte[], Int32).) |
|
GetCharCount(Byte[]) | En cas de substitution dans une classe dérivée, calcule le nombre de caractères produits par le décodage de tous les octets du tableau d'octets spécifié. (Hérité de Encoding.) |
|
GetCharCount(Byte*, Int32) | Calcule le nombre de caractères produits par le décodage d'une séquence d'octets commençant au pointeur d'octet spécifié. (Substitue Encoding.GetCharCount(Byte*, Int32).) |
|
GetCharCount(Byte[], Int32, Int32) | Calcule le nombre de caractères produits par le décodage d'une séquence d'octets du tableau d'octets spécifié. (Substitue Encoding.GetCharCount(Byte[], Int32, Int32).) |
|
GetChars(Byte[]) | Lors de la substitution dans une classe dérivée, décode tous les octets du tableau d'octets spécifié en un jeu de caractères. (Hérité de Encoding.) |
|
GetChars(Byte[], Int32, Int32) | En cas de substitution dans une classe dérivée, décode une séquence d'octets du tableau d'octets spécifié en un jeu de caractères. (Hérité de Encoding.) |
|
GetChars(Byte*, Int32, Char*, Int32) | Décode une séquence d'octets commençant au pointeur d'octet spécifié en un jeu de caractères qui sera stocké à partir du pointeur de caractère spécifié. (Substitue Encoding.GetChars(Byte*, Int32, Char*, Int32).) |
|
GetChars(Byte[], Int32, Int32, Char[], Int32) | Décode une séquence d'octets du tableau d'octets spécifié en un tableau de caractères. (Substitue Encoding.GetChars(Byte[], Int32, Int32, Char[], Int32).) |
|
GetDecoder | Obtient un décodeur qui convertit une séquence d'octets encodée en UTF-8 en une séquence de caractères Unicode. (Substitue Encoding.GetDecoder().) |
|
GetEncoder | Obtient un encodeur qui convertit une séquence de caractères Unicode en une séquence d'octets encodée en UTF-8. (Substitue Encoding.GetEncoder().) |
|
GetHashCode | Retourne le code de hachage pour l'instance actuelle. (Substitue Encoding.GetHashCode().) |
|
GetMaxByteCount | Calcule le nombre maximal d'octets produits par l'encodage du nombre de caractères spécifié. (Substitue Encoding.GetMaxByteCount(Int32).) |
|
GetMaxCharCount | Calcule le nombre maximal de caractères produits par le décodage du nombre d'octets spécifié. (Substitue Encoding.GetMaxCharCount(Int32).) |
|
GetPreamble | Retourne une marque d'ordre d'octet Unicode au format UTF-8 si le constructeur de cette instance demande une marque d'ordre d'octet. (Substitue Encoding.GetPreamble().) |
|
GetString(Byte[]) | Lors de la substitution dans une classe dérivée, décode tous les octets du tableau d'octets spécifié en une chaîne. (Hérité de Encoding.) |
|
GetString(Byte[], Int32, Int32) |
Décode une plage d'octets d'un tableau d'octets en une chaîne.
(Substitue Encoding.GetString(Byte[], Int32, Int32).) Dans XNA Framework 3.0, ce membre est hérité de Encoding.GetString(Byte[], Int32, Int32). Dans , ce membre est hérité de Encoding.GetString(Byte[], Int32, Int32). |
|
GetType | Obtient le Type de l'instance actuelle. (Hérité de Object.) |
|
IsAlwaysNormalized() | Obtient une valeur qui indique si l'encodage en cours est toujours normalisé, à l'aide du formulaire de normalisation par défaut. (Hérité de Encoding.) |
|
IsAlwaysNormalized(NormalizationForm) | Lors de la substitution dans une classe dérivée, obtient une valeur indiquant si l'encodage actuel est toujours normalisé, à l'aide du formulaire de normalisation spécifié. (Hérité de Encoding.) |
|
MemberwiseClone | Crée une copie superficielle de l'objet Object actif. (Hérité de Object.) |
|
ToString | Retourne une chaîne qui représente l'objet actuel. (Hérité de Object.) |
L'encodage est le processus de transformation d'un jeu de caractères Unicode en une séquence d'octets. Le décodage est le processus qui consiste à transformer une séquence d'octets encodés en un jeu de caractères Unicode.
L'encodage UTF-8 représente chaque point de code sous la forme d'une séquence d'un à quatre octets. Pour plus d'informations sur les UTFs et d'autres encodages pris en charge par System.Text, consultez Encodage de caractères dans le .NET Framework et Utilisation de l'encodage Unicode.
La méthode GetByteCount détermine le nombre d'octets entraînant l'encodage d'un jeu de caractères Unicode, et la méthode GetBytes exécute cet encodage.
De même, la méthode GetCharCount détermine le nombre de caractères entraînant le décodage d'une séquence d'octets, et les méthodes GetChars et GetString procèdent au décodage effectif.
UTF8Encoding correspond à la page de codes 65001 de Windows.
L'encodeur peut utiliser l'ordre d'octet avec primauté des octets de poids fort (big-endian) (octet le plus significatif en premier) ou avec primauté des octets de poids fiable (little-endian) (octet le moins significatif en premier). Il est généralement plus efficace d'utiliser l'ordre d'octet natif pour stocker des caractères Unicode. Par exemple, il est préférable d'utiliser l'ordre d'octet avec primauté des octets de poids faible (little-endian) sur les plateformes little-endian, comme les ordinateurs Intel.
Le cas échéant, l'objet UTF8Encoding fournit un préambule, c'est-à-dire un tableau d'octets que vous pouvez ajouter en tant que préfixe à la séquence d'octets résultant du processus d'encodage. Si le préambule contient une marque d'ordre d'octet (BOM), il aide le décodeur à déterminer l'ordre d'octet et le format UTF. La méthode GetPreamble extrait un tableau des octets qui peuvent inclure le BOM. Pour plus d'informations sur l'ordre d'octet et la marque d'ordre d'octet, consultez la norme Unicode sur la page d'accueil Unicode.
Remarque
|
|---|
|
Pour activer la détection d'erreurs et rendre l'instance de classe plus sécurisée, l'application doit utiliser le constructeur UTF8Encoding qui prend un paramètre throwOnInvalidBytes et le définit avec la valeur true. Avec la détection d'erreurs, une méthode qui détecte une séquence non valide de caractères ou d'octets lève une exception ArgumentException. Sans détection d'erreurs, aucune exception n'est levée, et la séquence non valide est généralement ignorée. |
Remarque
|
|---|
|
L'état d'un objet encodé UTF-8 n'est pas préservé si l'objet est sérialisé et désérialisé à l'aide de différentes versions du .NET Framework. |
L'exemple suivant illustre l'utilisation de UTF8Encoding pour encoder une chaîne de caractères Unicode et la stocker dans le tableau d'octets. Notez qu'il n'y a aucune perte de données lorsque encodedBytes est décodé à nouveau en chaîne.
using System; using System.Text; class UTF8EncodingExample { public static void Main() { // Create a UTF-8 encoding. UTF8Encoding utf8 = new UTF8Encoding(); // A Unicode string with two characters outside an 8-bit code range. String unicodeString = "This unicode string contains two characters " + "with codes outside an 8-bit code range, " + "Pi (\u03a0) and Sigma (\u03a3)."; Console.WriteLine("Original string:"); Console.WriteLine(unicodeString); // Encode the string. Byte[] encodedBytes = utf8.GetBytes(unicodeString); Console.WriteLine(); Console.WriteLine("Encoded bytes:"); foreach (Byte b in encodedBytes) { Console.Write("[{0}]", b); } Console.WriteLine(); // Decode bytes back to string. // Notice Pi and Sigma characters are still present. String decodedString = utf8.GetString(encodedBytes); Console.WriteLine(); Console.WriteLine("Decoded bytes:"); Console.WriteLine(decodedString); } }
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.
Remarque