Le développeur de la cave – S01E04 : l’encodage du texte
Amis programmeurs, bonjour. Je m’attaque aujourd’hui au plus gros problème qui existe depuis l’invention de l’écriture : l’encodage des caractères.
Kezako ?
L’encodage des caractères est la manière dont on va enregistrer les caractères visibles (chiffres, lettres, ponctuations…) et invisibles (retours à la ligne, espaces, tabulations…) dans un document informatique. Ainsi, on attribue un numéro à chaque caractères. La norme ASCII (American Standard Code for Information Interchange) établit la norme pour les 127 premiers caractères de l’alphabet latin. Ensiote, c’est la m***e !
La m***e
En effet, vous parlez français, anglais, tchèque, bulgare, arabe, japonais ou chinois, voire sanskrit, grec ou maya, vous n’allez pas utiliser les mêmes phonèmes ou idéogrammes. Et, au lieu de faire une table universelle recensant tous les caractères du monde, on a créé pas moins de 257 ! Certes, on peut écrire dans presque toutes les langues avec UTF-8, mais ce n’est pas non plus une science exacte. Il aura fallu attendre l’ISCII (comme ASCII mais pour l’international – fans le genre « je ne me foule pas pour trouver un nom ») qui n’est même pas interopérable !
En programmation informatique, on peut très bien avoir une source de données dans un encodage, un format de fichier dans un autre et un format d’interprétation dans un 3ème… Welcome to the bordel !!!
Les encodages les plus fréquents sont l’UTF-8 (ou Unicode) et l’ISO-8859-1 (aussi trouvable sous le nom de Windows-1252).
Note pour plus tard : pourquoi avoir changé l’ISO-8859-1
en ISO-8859-15 juste pour inclure le caractère € ?