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
|
Encoding, classe
Représente un encodage de caractères.
Assembly : mscorlib (dans mscorlib.dll)
Le type Encoding expose les membres suivants.
| Nom | Description | |
|---|---|---|
|
Encoding() | Initialise une nouvelle instance de la classe Encoding. |
|
Encoding(Int32) | Initialise une nouvelle instance de la classe Encoding qui correspond à la page de codes spécifiée. |
| Nom | Description | |
|---|---|---|
|
ASCII | Obtient un encodage pour le jeu de caractères ASCII (7 bits). |
|
BigEndianUnicode | Obtient un encodage pour le format UTF-16 qui utilise l'ordre d'octet avec primauté des octets de poids fort (big-endian). |
|
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. |
|
CodePage | En cas de substitution dans une classe dérivée, obtient l'identificateur de la page de codes du Encoding en cours. |
|
DecoderFallback | Obtient ou définit l'objet DecoderFallback en cours de l'objet Encoding en cours. |
|
Default | Obtient un encodage pour la page de codes ANSI actuelle du système d'exploitation. |
|
EncoderFallback | Obtient ou définit l'objet EncoderFallback en cours de l'objet Encoding en cours. |
|
EncodingName | En cas de substitution dans une classe dérivée, obtient la description explicite de l'encodage en cours. |
|
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. |
|
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. |
|
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. |
|
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. |
|
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. |
|
IsReadOnly | En cas de substitution dans une classe dérivée, obtient une valeur indiquant si l'encodage en cours est en lecture seule. |
|
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. |
|
Unicode | Obtient un encodage pour le format UTF-16 avec primauté des octets de poids faible (little-endian). |
|
UTF32 | Obtient un encodage pour le format UTF-32 avec primauté des octets de poids faible (little-endian). |
|
UTF7 | Obtient un encodage pour le format UTF-7. |
|
UTF8 | Obtient un encodage pour le format UTF-8. |
|
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. |
|
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. |
| Nom | Description | |
|---|---|---|
|
Clone | En cas de substitution dans une classe dérivée, crée une copie superficielle de l'objet Encoding en cours. |
|
Convert(Encoding, Encoding, Byte[]) | Convertit un tableau complet d'octets d'un encodage en un autre. |
|
Convert(Encoding, Encoding, Byte[], Int32, Int32) | Convertit une plage d'octets d'un encodage à un autre dans un tableau d'octets. |
|
Equals | Détermine si l'objet Object spécifié est égal à l'instance actuelle. (Substitue Object.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é. |
|
GetByteCount(String) | En cas de substitution dans une classe dérivée, calcule le nombre d'octets produits par l'encodage des caractères de la chaîne spécifiée. |
|
GetByteCount(Char*, Int32) | En cas de substitution dans une classe dérivée, calcule le nombre d'octets produits par l'encodage d'un jeu de caractères commençant au pointeur de caractère spécifié. |
|
GetByteCount(Char[], Int32, Int32) | En cas de substitution dans une classe dérivée, calcule le nombre d'octets produits par l'encodage d'un jeu de caractères du tableau de caractères spécifié. |
|
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. |
|
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. |
|
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. |
|
GetBytes(Char*, Int32, Byte*, Int32) | En cas de substitution dans une classe dérivée, code un jeu 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é. |
|
GetBytes(Char[], Int32, Int32, Byte[], 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 un tableau d'octets. |
|
GetBytes(String, Int32, Int32, Byte[], Int32) | En cas de substitution dans une classe dérivée, encode un jeu de caractères de la chaîne spécifiée en un tableau d'octets. |
|
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é. |
|
GetCharCount(Byte*, Int32) | En cas de substitution dans une classe dérivée, 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é. |
|
GetCharCount(Byte[], Int32, Int32) | En cas de substitution dans une classe dérivée, calcule le nombre de caractères produits par le décodage d'une séquence d'octets du tableau d'octets spécifié. |
|
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. |
|
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. |
|
GetChars(Byte*, Int32, Char*, Int32) | En cas de substitution dans une classe dérivée, décode une séquence d'octets commençant au pointeur d'octet spécifié en un jeu de caractères, qui sera stockée à partir du pointeur de caractère spécifié. |
|
GetChars(Byte[], Int32, Int32, Char[], 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 tableau de caractères. |
|
GetDecoder | En cas de substitution dans une classe dérivée, obtient un décodeur qui convertit une séquence d'octets codée en une séquence de caractères. |
|
GetEncoder | Lors de la substitution dans une classe dérivée, obtient un encodeur qui convertit une séquence de caractères Unicode en une séquence codée d'octets. |
|
GetEncoding(Int32) | Retourne l'encodage associé à l'identificateur de page de codes spécifié. |
|
GetEncoding(String) | Retourne l'encodage associé au nom de la page de codes spécifiée. |
|
GetEncoding(Int32, EncoderFallback, DecoderFallback) | Retourne l'encodage associé à l'identificateur de page de codes spécifié. Les paramètres spécifient un gestionnaire d'erreurs pour les caractères qui ne peuvent pas être codés et pour les séquences d'octets qui ne peuvent pas être décodées. |
|
GetEncoding(String, EncoderFallback, DecoderFallback) | Retourne l'encodage associé au nom de la page de codes spécifiée. Les paramètres spécifient un gestionnaire d'erreurs pour les caractères qui ne peuvent pas être codés et pour les séquences d'octets qui ne peuvent pas être décodées. |
|
GetEncodings | Retourne un tableau contenant tous les encodages. |
|
GetHashCode | Retourne le code de hachage pour l'instance actuelle. (Substitue Object.GetHashCode().) |
|
GetMaxByteCount | En cas de substitution dans une classe dérivée, calcule le nombre maximal d'octets produits par l'encodage du nombre de caractères spécifié. |
|
GetMaxCharCount | En cas de substitution dans une classe dérivée, calcule le nombre maximal de caractères produits par le décodage du nombre de caractères spécifié. |
|
GetPreamble | En cas de substitution dans une classe dérivée, retourne une séquence d'octets qui spécifie l'encodage utilisé. |
|
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. |
|
GetString(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 une chaîne. |
|
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. |
|
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é. |
|
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. À l'inverse, le décodage est le processus qui consiste à transformer une séquence d'octets codés en un jeu de caractères Unicode. Pour plus d'informations sur les formats UTF et d'autres encodages pris en charge par Encoding, consultez Encodage de caractères dans le .NET Framework.
Notez que Encoding est destiné à opérer sur des caractères Unicode, et non sur des données binaires arbitraires comme les tableaux d'octets. Si votre application doit encoder des données arbitraires en texte, elle doit utiliser un protocole tel qu'UUEncode, qui est implémenté par des méthodes telles que Convert.ToBase64CharArray.
Le .NET Framework fournit les implémentations suivantes de la classe Encoding pour prendre en charge les encodages Unicode et autres :
-
ASCIIEncoding encode les caractères Unicode en caractères ASCII simples de 7 bits. Cet encodage ne prend en charge que les valeurs de caractères comprises entre U+0000 et U+007F. Page de codes 20127. Également disponible via la propriété ASCII.
-
UTF7Encoding encode les caractères Unicode à l'aide de l'encodage UTF-7. Cet encodage prend en charge toutes les valeurs de caractères Unicode. Page de codes 65000. Également disponible via la propriété UTF7.
-
UTF8Encoding encode les caractères Unicode à l'aide de l'encodage UTF-8. Cet encodage prend en charge toutes les valeurs de caractères Unicode. Page de codes 65001. Également disponible via la propriété UTF8.
-
UnicodeEncoding encode les caractères Unicode à l'aide de l'encodage UTF-16. L'ordre de primauté des octets de poids faible (little-endian) et l'ordre de primauté des octets de poids fort (big-endian) sont tous deux pris en charge. Également disponible via la propriété Unicode et la propriété BigEndianUnicode.
-
UTF32Encoding encode les caractères Unicode à l'aide de l'encodage UTF-32. Les deux ordres de primauté des octets sont pris en charge : primauté des octets de poids faible (little-endian, page de codes 12000) et primauté des octets de poids fort (big-endian, page de codes 12001). Également disponible via la propriété UTF32.
La classe Encoding est prévue à l'origine pour convertir entre différents encodages et Unicode. L'une des classes Unicode dérivées est souvent le bon choix pour votre application.
Vos applications utilisent la méthode GetEncoding pour obtenir d'autres encodages. Elles doivent utiliser la méthode GetEncodings pour obtenir la liste de tous les encodages.
Le tableau suivant répertorie les encodages pris en charge et leurs pages de codes associées. Un astérisque dans la dernière colonne indique que la page de codes est prise en charge en mode natif par le .NET Framework, indépendamment de la plateforme sous-jacente.
|
Page de codes |
Nom |
Nom complet |
|
|---|---|---|---|
|
37 |
IBM037 |
IBM EBCDIC (EU-Canada) |
|
|
437 |
IBM437 |
OEM États-Unis |
|
|
500 |
IBM500 |
IBM EBCDIC (International) |
|
|
708 |
ASMO-708 |
Arabe (ASMO 708) |
|
|
720 |
DOS-720 |
Arabe (DOS) |
|
|
737 |
ibm737 |
Grec (DOS) |
|
|
775 |
ibm775 |
Baltique (DOS) |
|
|
850 |
ibm850 |
Europe de l'Ouest (DOS) |
|
|
852 |
ibm852 |
Europe centrale (DOS) |
|
|
855 |
IBM855 |
OEM Cyrillique |
|
|
857 |
ibm857 |
Turc (DOS) |
|
|
858 |
IBM00858 |
OEM Multilingue Latin I |
|
|
860 |
IBM860 |
Portugais (DOS) |
|
|
861 |
ibm861 |
Islandais (DOS) |
|
|
862 |
DOS-862 |
Hébreu (DOS) |
|
|
863 |
IBM863 |
Français canadien (DOS) |
|
|
864 |
IBM864 |
Arabe (864) |
|
|
865 |
IBM865 |
Nordique (DOS) |
|
|
866 |
cp866 |
Cyrillique (DOS) |
|
|
869 |
ibm869 |
Grec moderne (DOS) |
|
|
870 |
IBM870 |
IBM EBCDIC (Multilingue Latin-2) |
|
|
874 |
windows-874 |
Thaï (Windows) |
|
|
875 |
cp875 |
IBM EBCDIC (Grec moderne) |
|
|
932 |
shift_jis |
Japonais (Shift-JIS) |
|
|
936 |
gb2312 |
Chinois simplifié (GB2312) |
* |
|
949 |
ks_c_5601-1987 |
Coréen |
|
|
950 |
big5 |
Chinois traditionnel (Big5) |
|
|
1026 |
IBM1026 |
IBM EBCDIC (Turc Latin-5) |
|
|
1047 |
IBM01047 |
IBM Latin-1 |
|
|
1140 |
IBM01140 |
IBM EBCDIC (EU-Canada-Euro) |
|
|
1141 |
IBM01141 |
IBM EBCDIC (Allemagne-Euro) |
|
|
1142 |
IBM01142 |
IBM EBCDIC (Danemark-Norvège-Euro) |
|
|
1143 |
IBM01143 |
IBM EBCDIC (Finlande-Suède-Euro) |
|
|
1144 |
IBM01144 |
IBM EBCDIC (Italie-Euro) |
|
|
1145 |
IBM01145 |
IBM EBCDIC (Espagne-Euro) |
|
|
1146 |
IBM01146 |
IBM EBCDIC (RU-Euro) |
|
|
1147 |
IBM01147 |
IBM EBCDIC (France-Euro) |
|
|
1148 |
IBM01148 |
IBM EBCDIC (International-Euro) |
|
|
1149 |
IBM01149 |
IBM EBCDIC (Islandais-Euro) |
|
|
1200 |
utf-16 |
Unicode |
* |
|
1201 |
unicodeFFFE |
Unicode (avec primauté des octets de poids fort (big-endian)) |
* |
|
1250 |
windows-1250 |
Europe centrale (Windows) |
|
|
1251 |
windows-1251 |
Cyrillique (Windows) |
|
|
1252 |
Windows -1252 |
Europe de l'Ouest (Windows) |
* |
|
1253 |
windows-1253 |
Grec (Windows) |
|
|
1254 |
windows-1254 |
Turc (Windows) |
|
|
1255 |
windows-1255 |
Hébreu (Windows) |
|
|
1256 |
windows-1256 |
Arabe (Windows) |
|
|
1257 |
windows-1257 |
Baltique (Windows) |
|
|
1258 |
windows-1258 |
Vietnamien (Windows) |
|
|
1361 |
Johab |
Coréen (Johab) |
|
|
10000 |
macintosh |
Europe de l'Ouest (Mac) |
|
|
10001 |
x-mac-japanese |
Japonais (Mac) |
|
|
10002 |
x-mac-chinesetrad |
Chinois traditionnel (Mac) |
|
|
10003 |
x-mac-korean |
Coréen (Mac) |
* |
|
10004 |
x-mac-arabic |
Arabe (Mac) |
|
|
10005 |
x-mac-hebrew |
Hébreu (Mac) |
|
|
10006 |
x-mac-greek |
Grec (Mac) |
|
|
10007 |
x-mac-cyrillic |
Cyrillique (Mac) |
|
|
10008 |
x-mac-chinesesimp |
Chinois simplifié (Mac) |
* |
|
10010 |
x-mac-romanian |
Roumain (Mac) |
|
|
10017 |
x-mac-ukrainian |
Ukrainien (Mac) |
|
|
10021 |
x-mac-thai |
Thaï (Mac) |
|
|
10029 |
x-mac-ce |
Europe centrale (Mac) |
|
|
10079 |
x-mac-icelandic |
Islandais (Mac) |
|
|
10081 |
x-mac-turkish |
Turc (Mac) |
|
|
10082 |
x-mac-croatian |
Croate (Mac) |
|
|
12000 |
utf-32 |
Unicode (UTF-32) |
* |
|
12001 |
utf-32BE |
Unicode (UTF-32 avec primauté des octets de poids fort (big-endian)) |
* |
|
20000 |
x-Chinese-CNS |
Chinois traditionnel (CNS) |
|
|
20001 |
x-cp20001 |
TCA Taïwan |
|
|
20002 |
x-Chinese-Eten |
Chinois traditionnel (Eten) |
|
|
20003 |
x-cp20003 |
IBM5550 Taïwan |
|
|
20004 |
x-cp20004 |
TeleText Taïwan |
|
|
20005 |
x-cp20005 |
Wang Taïwan |
|
|
20105 |
x-IA5 |
Europe de l'Ouest (IA5) |
|
|
20106 |
x-IA5-German |
Allemand (IA5) |
|
|
20107 |
x-IA5-Swedish |
Suédois (IA5) |
|
|
20108 |
x-IA5-Norwegian |
Norvégien (IA5) |
|
|
20127 |
us-ascii |
US-ASCII |
* |
|
20261 |
x-cp20261 |
T.61 |
|
|
20269 |
x-cp20269 |
ISO-6937 |
|
|
20273 |
IBM273 |
IBM EBCDIC (Allemagne) |
|
|
20277 |
IBM277 |
IBM EBCDIC (Danemark-Norvège) |
|
|
20278 |
IBM278 |
IBM EBCDIC (Finlande-Suède) |
|
|
20280 |
IBM280 |
IBM EBCDIC (Italie) |
|
|
20284 |
IBM284 |
IBM EBCDIC (Espagne) |
|
|
20285 |
IBM285 |
IBM EBCDIC (RU) |
|
|
20290 |
IBM290 |
IBM EBCDIC (Japonais katakana) |
|
|
20297 |
IBM297 |
IBM EBCDIC (France) |
|
|
20420 |
IBM420 |
IBM EBCDIC (Arabe) |
|
|
20423 |
IBM423 |
IBM EBCDIC (Grec) |
|
|
20424 |
IBM424 |
IBM EBCDIC (Hébreu) |
|
|
20833 |
x-EBCDIC-KoreanExtended |
IBM EBCDIC (Coréen étendu) |
|
|
20838 |
IBM-Thaï |
IBM EBCDIC (Thaï) |
|
|
20866 |
koi8-r |
Cyrillique (KOI8-R) |
|
|
20871 |
IBM871 |
IBM EBCDIC (islandais) |
|
|
20880 |
IBM880 |
IBM EBCDIC (Russe cyrillique) |
|
|
20905 |
IBM905 |
IBM EBCDIC (Turc) |
|
|
20924 |
IBM00924 |
IBM Latin-1 |
|
|
20932 |
EUC-JP |
Japonais (JIS 0208-1990 et 0212-1990) |
|
|
20936 |
x-cp20936 |
Chinois simplifié (GB2312-80) |
* |
|
20949 |
x-cp20949 |
Coréen Wansung |
* |
|
21025 |
cp1025 |
IBM EBCDIC (Serbe cyrillique-bulgare) |
|
|
21866 |
koi8-u |
Cyrillique (KOI8-U) |
|
|
28591 |
iso-8859-1 |
Europe de l'Ouest (ISO) |
* |
|
28592 |
iso-8859-2 |
Europe centrale (ISO) |
|
|
28593 |
iso-8859-3 |
Latin 3 (ISO) |
|
|
28594 |
iso-8859-4 |
Baltique (ISO) |
|
|
28595 |
iso-8859-5 |
Cyrillique (ISO) |
|
|
28596 |
iso-8859-6 |
Arabe (ISO) |
|
|
28597 |
iso-8859-7 |
Grec (ISO) |
|
|
28598 |
iso-8859-8 |
Hébreu (ISO-Visual) |
* |
|
28599 |
iso-8859-9 |
Turc (ISO) |
|
|
28603 |
iso-8859-13 |
Estonien (ISO) |
|
|
28605 |
iso-8859-15 |
Latin 9 (ISO) |
|
|
29001 |
x-Europa |
Europe |
|
|
38598 |
iso-8859-8-i |
Hébreu (ISO-Logical) |
* |
|
50220 |
iso-2022-jp |
Japonais (JIS) |
* |
|
50221 |
csISO2022JP |
Japonais (JIS-Kana 1 octet) |
* |
|
50222 |
iso-2022-jp |
Japonais (JIS-Kana 1 octet- SO/SI) |
* |
|
50225 |
iso-2022-kr |
Coréen (ISO) |
* |
|
50227 |
x-cp50227 |
Chinois simplifié (ISO-2022) |
* |
|
51932 |
euc-jp |
Japonais (EUC) |
* |
|
51936 |
EUC-CN |
Chinois simplifié (EUC) |
* |
|
51949 |
euc-kr |
Coréen (EUC) |
* |
|
52936 |
hz-gb-2312 |
Chinois simplifié (HZ) |
* |
|
54936 |
GB18030 |
Chinois simplifié (GB18030) |
* |
|
57002 |
x-iscii-de |
ISCII Devanagari |
* |
|
57003 |
x-iscii-be |
ISCII Bengali |
* |
|
57004 |
x-iscii-ta |
ISCII Tamoul |
* |
|
57005 |
x-iscii-te |
ISCII Télougou |
* |
|
57006 |
x-iscii-as |
ISCII Assamais |
* |
|
57007 |
x-iscii-or |
ISCII Oriya |
* |
|
57008 |
x-iscii-ka |
ISCII Kannada |
* |
|
57009 |
x-iscii-ma |
ISCII Malayalam |
* |
|
57010 |
x-iscii-gu |
ISCII Gujarati |
* |
|
57011 |
x-iscii-pa |
ISCII Pendjabi |
* |
|
65000 |
utf-7 |
Unicode (UTF-7) |
* |
|
65001 |
utf-8 |
Unicode (UTF-8) |
* |
Si les données à convertir ne sont disponibles que sous la forme de blocs séquentiels (comme les données lues à partir d'un flux) ou si la quantité de données est si grande qu'elle doit être divisée en blocs plus petits, votre application doit utiliser le Decoder ou le Encoder fourni par la méthode GetDecoder ou la méthode GetEncoder, respectivement, d'une classe dérivée.
Les encodeurs UTF-16 et UTF-32 peuvent utiliser l'ordre d'octet avec primauté des octets de poids fort (big-endian) (octet le plus significatif en premier) ou l'ordre d'octet avec primauté des octets de poids faible (little-endian) (octet le moins significatif en premier). Par exemple, la majuscule latine A (U+0041) est sérialisée comme suit (au format hexadécimal) :
-
UTF-16 avec primauté des octets de poids fort (big-endian) : 00 41
-
UTF-16 avec primauté des octets de poids faible (little-endian) : 41 00
-
UTF-32 avec primauté des octets de poids fort (big-endian) : 00 00 00 41
-
UTF-32 avec primauté des octets de poids faible (little-endian) : 41 00 00 00
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.
La méthode GetPreamble extrait un tableau d'octets qui contient la marque d'ordre d'octet (BOM). Si ce tableau d'octets est ajouté comme préambule à un flux de données encodé, il aide le décodeur à identifier le format d'encodage utilisé.
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.
Notez que les classes d'encodage autorisent des erreurs pour :
-
Silencieusement changer en un caractère « ? ».
-
Utiliser un caractère « ajusté ».
-
Passez à un comportement spécifique à l'application à travers l'utilisation des classes EncoderFallback et DecoderFallback avec le caractère de remplacement Unicode U+FFFD.
Vos applications sont recommandées pour lever des exceptions sur toutes les erreurs de flux de données. Une application utilise un indicateur « throwonerror » lorsqu'il est applicable ou les classes EncoderExceptionFallback et DecoderExceptionFallback. Le secours le mieux adapté n'est pas souvent recommandé car il peut provoquer perte de données ou confusion et il est plus lent que les simples remplacements de caractères. Pour les encodages ANSI, le comportement le mieux adapté est la valeur par défaut.
L'exemple suivant convertit une chaîne depuis un encodage vers un autre.
Remarque
|
|---|
|
Le tableau byte[] est le seul type dans cet exemple qui contient les données encodées. Les types .NET Char et String sont eux-mêmes Unicode, donc l'appel GetChars décode les données en Unicode. |
using System; using System.Text; class Example { static void Main() { string unicodeString = "This string contains the unicode character Pi (\u03a0)"; // Create two different encodings. Encoding ascii = Encoding.ASCII; Encoding unicode = Encoding.Unicode; // Convert the string into a byte array. byte[] unicodeBytes = unicode.GetBytes(unicodeString); // Perform the conversion from one encoding to the other. byte[] asciiBytes = Encoding.Convert(unicode, ascii, unicodeBytes); // Convert the new byte[] into a char[] and then into a string. char[] asciiChars = new char[ascii.GetCharCount(asciiBytes, 0, asciiBytes.Length)]; ascii.GetChars(asciiBytes, 0, asciiBytes.Length, asciiChars, 0); string asciiString = new string(asciiChars); // Display the strings created before and after the conversion. Console.WriteLine("Original string: {0}", unicodeString); Console.WriteLine("Ascii converted string: {0}", asciiString); } } // The example displays the following output: // Original string: This string contains the unicode character Pi (Π) // Ascii converted string: This string contains the unicode character Pi (?)
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