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 pas...
- 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