Manipulons les caractères avec iconv

Magazine
Marque
GNU/Linux Magazine
Numéro
269
Mois de parution
mai 2024
Spécialité(s)


Résumé

Au détour d'un petit projet incluant des échanges USB avec un adaptateur série utilisant une puce FTDI FT232R, j'ai rencontré un problème susceptible de survenir dans diverses situations. Même si aujourd'hui UTF-8 semble avoir toujours été présent dans nos terminaux, éditeurs, codes et que sais-je encore, les utilisateurs et programmeurs les plus aguerris se souviennent sans peine de la souffrance vécue lors de la transition depuis le bon vieux Latin1 (alias iso-8859-1). Mais la dure réalité est la suivante : UTF-8 n'est pas partout !


Le but du présent article n'est aucunement d'entrer dans les détails et les différences entre Unicode, UTF-8, UTF-16, UCS-2, etc. Je n'ai pas la place dans l'espace imparti et vous n'avez certainement pas la quantité d'antalgique nécessaire en stock dans votre trousse de premiers secours. En effet, en creusant un peu le sujet, on se rend rapidement compte que la gestion des caractères autres que le bon vieil ASCII ou l'UTF-8 est un sujet épineux, et pour cause. Avant d'arriver à la situation où l'on se trouve maintenant, il y a eu bien des tentatives, bien des normes et bien des formats, et tout ceci est encore très présent dans le code, dans les bibliothèques... mais aussi dans le matériel.

« Quel matériel ? » me demanderez-vous, méfiant et un tantinet inquiet. Tout le matériel ! Ou du moins, tout le matériel interfacé en USB. Car, en effet, les chaînes de caractères spécifiant la description du fabricant, du produit et du numéro de série (qui n'est…

Cet article est réservé aux abonnés. Il vous reste 93% à découvrir.
S'abonner à Connect
  • Accédez à tous les contenus de Connect en illimité
  • Découvrez des listes de lecture et des contenus Premium
  • Consultez les nouveaux articles en avant-première
Je m'abonne


Article rédigé par

Abonnez-vous maintenant

et profitez de tous les contenus en illimité

Je découvre les offres

Déjà abonné ? Connectez-vous