ANNÉES 1960

ASCII

Le code ASCII naît dans les années 1960, alors que chaque constructeur informatique invente ses propres règles. À cette époque, échanger des données entre machines relève du parcours du combattant. Un caractère sur un ordinateur IBM est illisible sur une machine Control Data, et réciproquement. Cette cacophonie technologique freine tout développement sérieux de l'informatique.

En 1961, l'American Standards Association décide de mettre fin à cette anarchie. Son comité X3 reçoit la mission de créer un standard universel. Le projet atterrit entre les mains du sous-comité X3.2, puis du groupe de travail X3.2.4. John L. Little, ingénieur au National Bureau of Standards, prend les rênes de cette entreprise délicate. Il faut convaincre des constructeurs qui utilisent déjà leurs propres systèmes, comme Control Data avec son FIELDATA sur 6 bits ou IBM avec l'EBCDIC sur 8 bits. Mais chacun campe sur ses positions.

Après des mois de débats, le comité tranche pour un code sur 7 bits. Ce compromis facilite la représentation de 128 caractères différents, suffisant pour couvrir l'alphabet latin, les chiffres et la ponctuation. Un code sur 6 bits aurait été trop restrictif, tandis que 8 bits auraient alourdi les coûts de transmission. Les 7 bits laissent aussi la possibilité d'ajouter un huitième bit pour détecter les erreurs, fonction précieuse quand les lignes téléphoniques crachotent.

ASCII voit le jour en 1963, et subit une révision en 1967 avant sa dernière version de 1986. Les concepteurs réservent les 32 premières positions aux caractères de contrôle, hérités des téléscripteurs, comme le retour chariot, le saut de ligne, la tabulation. Les 95 positions suivantes accueillent lettres, chiffres et symboles. Rien n'est laissé au hasard dans cette organisation. Les chiffres s'alignent pour faciliter les conversions, les lettres respectent l'ordre alphabétique, et la ponctuation trouve sa place logique.

En novembre 1968, le National Bureau of Standards adopte ASCII comme premier standard fédéral de traitement de l'information. Le président Lyndon Johnson signe cette décision qui rend ASCII obligatoire pour tous les achats informatiques du gouvernement américain. Comme il constitue le plus gros client du secteur, cette mesure pousse l'ensemble de l'industrie vers ASCII.

Dans la réalité, ASCII sur 7 bits s'intègre généralement dans un code sur 8 bits : soit le bit supplémentaire est à zéro, soit il sert au contrôle de parité. Cette approche s'adapte bien aux ordinateurs qui manipulent l'information par groupes de 8 bits. Le bit de parité détecte les erreurs de transmission : dans un système de parité paire, il s'ajuste pour maintenir un nombre pair de bits à 1. Si une erreur survient pendant le transfert, le décompte change et signale le problème.

Le succès d'ASCII inspire des variantes nationales. Le Canada développe sa version pour les caractères français, l'Inde crée ISCII, le Vietnam VISCII, la Yougoslavie YUSCII. Chaque pays adapte le code à ses besoins linguistiques. En 1972, ASCII intègre la norme internationale ISO/CEI 646, qui autorise certains réaménagements nationaux. Mais ASCII s'est imposé comme standard de fait, créant parfois des confusions quand d'autres pays redéfinissent certaines positions.

L'arrivée des ordinateurs 16 et 32 bits ouvre la voie aux extensions 8 bits. Ces versions conservent les 128 caractères ASCII originaux et ajoutent 128 nouvelles positions. L'IBM PC introduit la page de codes 437, qui remplace les caractères de contrôle par des symboles graphiques. Digital Equipment Corporation conçoit le jeu multinational pour son terminal VT220, l'une des premières extensions pensées pour l'international plutôt que pour les graphiques. La norme ISO/CEI 8859 finit par s'imposer, dérivée du système de Digital. Microsoft développe ensuite Windows-1252, qui ajoute les signes typographiques nécessaires à l'impression soignée. Ces trois systèmes – ASCII 7 bits, ISO-8859-1 et Windows-1252 – dominent l'informatique jusqu'à la fin des années 2000.

Unicode prend depuis le relais d'ASCII, capable de gérer des dizaines de milliers de caractères. Mais les concepteurs d'Unicode ont eu la sagesse de préserver la compatibilité : les 128 caractères ASCII conservent leurs codes d'origine. ASCII est valide en UTF-8, l'encodage dominant actuel, ce qui en fait un sous-ensemble d'Unicode.

Plus de soixante ans après sa naissance, ASCII continue de structurer nos échanges numériques. Quand tout s'effondre, quand les formats sophistiqués échouent, ASCII se maintient. Internet repose sur lui, les protocoles de communication l'utilisent, et nos smartphones décodent encore ses caractères. Cette longévité exceptionnelle témoigne d'une conception remarquable, fruit d'un consensus industriel rare.