iconv_open |
iconv : Ouvrir |
---|---|
libiconv | iconv.h |
Syntaxe
iconv_t iconv_open(const char* tocode, const char* fromcode); |
Paramètres
Nom | Description |
---|---|
tocode | Ce paramètre permet d'indiquer une chaîne de caractères indiquant l'encodage de destination. |
fromcode | Ce paramètre permet d'indiqwuer une chaîne de caractères indiquant l'encodage source. |
Retour
La fonction iconv_open renvoie un descripteur de conversion fraîchement alloué. En cas d'erreur, elle définit errno et renvoie (iconv_t)(-1).
Description
Cette fonction permet d'allouer un descripteur pour la conversion de l'ensemble de caractères.
Remarques
- La fonction iconv_open alloue un descripteur de conversion permettant de convertir des séquences d'octets du codage de caractères fromcode au codage de caractères tocode.
- Les valeurs autorisées pour fromcode et tocode, ainsi que les combinaisons prises en charge, dépendent du système. Pour la bibliothèque
libiconv, les codages suivants sont pris en charge, dans toutes les combinaisons :
Langages Codages Langues européennes ASCII, ISO-8859-{1,2,3,4,5,7,9,10,13,14,15,16}, KOI8-R, KOI8-U, KOI8-RU, CP{1250,1251,1252,1253,1254,1257}, CP{850,866,1131}, Mac{Romain,Europe centrale,Islande,Croate,Roumanie}, Mac{Cyrillique,Ukraine,Grec,Turc}, Macintosh Langues sémitiques ISO-8859-{6,8}, CP{1255,1256}, CP862, Mac{Hébreu,Arabe} Japonais EUC-JP, SHIFT_JIS, CP932, ISO-2022-JP, ISO-2022-JP-2, ISO-2022-JP-1, ISO-2022-JP-MS Chinois EUC-CN, HZ, GBK, CP936, GB18030, GB18030:2022, EUC-TW, BIG5, CP950, BIG5-HKSCS, BIG5-HKSCS:2004, BIG5-HKSCS:2001, BIG5-HKSCS:1999, ISO-2022-CN, ISO-2022-CN-EXT Coréen EUC-KR, CP949, ISO-2022-KR, JOHAB Arménien ARMSCII-8 Géorgien Géorgien-Académie, Géorgien-PS Tadjik KOI8-T Kazakh PT154, RK1048 Thaï TIS-620, CP874, MacThai Laotien MuleLao-1, CP1133 Vietnamien VISCII, TCVN, CP1258 Spécificités de la plateforme HP-ROMAN8, NEXTSTEP Unicode complet UTF-8
UCS-2, UCS-2BE, UCS-2LE
UCS-4, UCS-4BE, UCS-4LE
UTF-16, UTF-16BE, UTF-16LE
UTF-32, UTF-32BE, UTF-32LE
UTF-7
C99, JAVAUnicode complet, en termes de uint16_t ou uint32_t (avec endianness et alignement dépendants de la machine) UCS-2-INTERNAL, UCS-4-INTERNAL Dépend des paramètres régionaux, en termes de char ou wchar_t (avec endianness et alignement dépendants de la machine, et avec une sémantique dépendant du système d'exploitation et de la facette locale LC_CTYPE actuelle) char, wchar_t Lorsqu'il est configuré avec l'option --enable-extra-encodings, il prend également en charge quelques encodages supplémentaires : Langues européen CP{437,737,775,852,853,855,857,858,860,861,863,865,869,1125} Langues sémitiques CP864 Japonais EUC-JISX0213, Shift_JISX0213, ISO-2022-JP-3 Chinois BIG5-2003 (expérimental) Turkmène TDS565 Spécificités de la plateforme ATARIST, RISCOS-LATIN1 Compatible EBCDIC (non compatible ASCII, très rarement utilisé) Européen Langues :
IBM-{037,273,277,278,280,282,284,285,297,423,500,870,871,875,880},
IBM-{905,924,1025,1026,1047,1112,1122,1123,1140,1141,1142,1143},
IBM-{1144,1145,1146,1147,1148,1149,1153,1154,1155,1156,1157,1158},
IBM-{1165,1166,4971}
Sémitique Langues :
IBM-{424,425,12712,16804}
Persan :
IBM-1097
Thaï :
IBM-{838,1160}
Laotien :
IBM-1132
Vietnamien :
IBM-{1130,1164}
Langues indiennes :
IBM-1137 - Le nom d'encodage vide "" équivaut à "char" : il indique l'encodage de caractères dépendant des paramètres régionaux.
- Lorsque la chaîne de caractères «//TRANSLIT» est ajoutée à tocode, la translittération est activée. Cela signifie que lorsqu'un caractère ne peut être représenté dans l'ensemble de caractères cible, il peut être approximé par un ou plusieurs caractères similaires au caractère d'origine.
- Lorsque la chaîne de caractères «//IGNORE» est ajoutée à tocode, les séquences multi-octets non valides en entrée et les caractères non représentés dans l'ensemble de caractères cible sont ignorés.
- Lorsque la chaîne de caractères «//NON_IDENTICAL_DISCARD» est ajoutée à tocode, les caractères non représentés dans l'ensemble de caractères cible sont ignorés.
- Le descripteur de conversion obtenu peut être utilisé avec iconv autant de fois que nécessaire. Il reste valide jusqu'à sa désallocation via iconv_close.
- Un descripteur de conversion contient un état de conversion. Après sa création avec iconv_open, l'état est initial. L'utilisation d'iconv modifie l'état de conversion du descripteur. (Cela implique qu'un descripteur de conversion ne peut pas être utilisé simultanément dans plusieurs processus légers.) Pour rétablir l'état initial, utilisez iconv avec NULL comme paramètre inbuf.
Erreurs
L'erreur suivante peut se produire, entre autres :
Constante | Description |
---|---|
EINVAL | La conversion de fromcode vers tocode n'est pas prise en charge par l'implémentation. |
Conformité
POSIX:2024
Voir également
Dernière mise à jour : Mardi, le 25 mars 2025