La fonction
iconv_open()
alloue un descripteur de conversion adapté à la transformation
d'une séquence d'octets depuis le codage de caractères
fromcode
dans le codage
tocode.
De plus, la glibc et la bibliothèque libicinv GNU prennent
en charge les suffixes suivants :
- //TRANSLIT
-
Lorsque la chaîne « //TRANSLIT est ajoutée à »
tocode,
la translittération est activée.
Cela signifie que lorsqu'un caractère ne peut pas être représenté
dans le jeu de caractères cible, il peut être approximé
par un autre caractère ressemblant.
- //IGNORE
-
Lorsque la chaîne « //IGNORE est ajoutée à »
tocode,
les caractères qui ne peuvent pas être représentés
dans le jeu de caractères cible seront silencieusement ignorés.
Les valeurs autorisées pour
fromcode
et
tocode
et leurs combinaisons acceptées dépendent du système.
Pour la glibc les valeurs permises sont fournies par la commande
iconv --list
et toutes les combinaisons de ces valeurs sont supportées.
Ndt : apparemment ce n'est pas toujours vrai, puisque cette commande
iconv --list
affiche le commentaire suivant :
La liste suivante contient tous les jeux des codes de caractères connus.
Ceci ne signifie pas nécessairement que toutes les combinaisons
de ces noms peuvent être utilisées dans les paramètres FROM
et TO des commandes[...]
Le descripteur de conversion fourni peut être utilisé
autant de fois que voulu avec
iconv(3)
Il reste valide jusqu'à sa libération avec
iconv_close(3).
Un descripteur contient un état de conversion.
Lors de sa création avec
iconv_open(),
il se trouve dans l'état initial.
L'utilisation de
iconv(3)
modifie l'état du descripteur.
On ne doit donc pas utiliser simultanément un descripteur
de conversion dans plusieurs threads.
Pour revenir à l'état initial, on peut employer
iconv(3)
avec un argument
inbuf
NULL.