Codage des caractères sur carte perforée

Le codage des caractères sur carte perforée est la pratique consistant à associer à chaque caractère un ensemble différent de perforations, ce qui permet par exemple d'y enregistrer un texte.

Histoire

Carte de 1890

Aux États-unis, vers 1890, Herman Hollerith invente un moyen d'enregistrer les données du recensement sur un support qu'une machine peut relire, en mettant au point un marquage sur carte par perforation après avoir utilisé des bandes de papier[1],[2].

La correspondance entre les perforations et les caractères ainsi que la taille de la carte ne sont pas normalisées à cette époque. Il existe donc divers formats de cartes perforées pour divers usages.

Codage sur un nombre fixe de bits

Le codage de caractère sur un nombre fixe de bits apparaît dans le code Baudot, ainsi que la notion de séquence d'échappement.

Le codage de caractères sur un nombre fixe de bits est repris dans un contexte industriel sur des cartes perforées.

En raison de l'existence de brevets le codage Hollerith de IBM n'est pas utilisé par Bull. Ce manque d'interopérabilité fragmenta le marché entre "clients IBM" et "clients Bull".

Le codage Bull n'utilise que onze lignes de perforation, soit une de moins qu'IBM tout en codant autant de caractères[3]. En Bull, les chiffres de zéro à neuf sont utilisés pour le numérique. Les doubles combinaisons utilisées pour les lettres sont différentes et portent sur les bits 9, 8, 7. Ainsi le A était représenté par les combinaisons de perforations 7 et 11, B par 7 et 0, C par 7 et 1 etc.

Vers le changement de siècle, développement d'un codage performant sur cartes perforées pour le recensement étatique. Le produit fut ensuite commercialisé par le Tabulating Machine Co.[4].

    • Western Union en utilisa une version modifiée jusque dans les années 1950. L'espace et la sonnerie avaient été ajoutés.
    • Dans les années 1930, le CCITT a introduit le International Telegraph Alphabet No. 2 (ITA2) code comme standard international, basé sur l' Western Union code modifié. Les États-Unis ont standardisé une version de l'ITA2 comme American Teletypewriter code (USTTY) qui était une base de 5-bit teletypewriter codes jusqu'aux débuts de l'ASCII 7 bits en 1963.
  • SIXBIT (1968 et 1954) : 64 codes (6 bits), stocke six bits caractères par mot mémoire (PDP-10)

Six-bit BCD était utilisé par IBM sur les premiers ordinateurs comme le IBM 704 en 1954[5]. Par la suite, il donne naissance à l'EBCDIC.

Illustrations

1964

Cette carte de 1964 fait apparaître la correspondance entre les caractères et leur représentation binaire de l'époque.

Une carte perforée 80 colonnes d'IBM d'un des types les plus utilisés au XXe siècle. La photographie fait apparaître le jeu de caractère EBCDIC de 1964, qui ajoutait de nouveaux caractères aux caractères précédents.

Programmation des mainframes

Carte perforée contenant la ligne d'instruction en Fortran « Z(1) = Y + W(1) »

Le Fortran est l'un des premiers langages de programmation pour les mainframes, où les cartes perforées permettaient l'entrée des lignes d'instructions analysées par le compilateur.

Carte perforée contenant la ligne d'instruction en COBOL « IF MOD-G-JAHR NOT NUMERIC MOVE ZERO TO MOD-G-JAHR. »

Le langage de programmation COBOL a également utilisé les cartes perforées pour programmer les mainframes.

L'utilisation des cartes perforées ne permettant pas d'écrire de lettres en minuscules et explique le fait que les noms et mots-clés dans ces deux langages de programmation soient en lettres capitales.

Standard 5081

Carte Standard 5081 d'un fournisseur non-IBM. Notez les coins. L'instruction commence en colonne 10 et dit «EXEC PROC=SLINK,TESPGM =DADK,ACCT=DADK » Les premières colonnes sont marquées «//STEP2»

Carte cyrillique

La carte complétée en mode texte (ligne «C 10,05 définition des adresses ACTIFS MISE EN ŒUVRE DE paramètre Tâche" texte original:"С*10,05 ОПРЕДЕЛЕНИЕ АДРЕСА АКТИВНОЙ РЕАЛИЗАЦИИ ПАРАМЕТРА ЗАДАЧИ")

Les cartes cyrilliques soviétiques utilisaient le même principe de codage que les cartes anglaises ou américaines ; les caractères ne correspondant pas bénéficiaient de perforations supplémentaires.

IBM 96 caractères

Carte perforée pour IBM System/3 comportant 3 lignes de 32 caractères, soit 96 caractères au total.

Lorsque la perforation n'était plus une opération compliquée, il est devenu possible de perforer plus de bits simultanément pour un même caractère, comme cela se faisait déjà depuis longtemps dans le code Baudot. IBM l'a fait en convertissant le codage précédent pour les lettres et les chiffres.

  • Chaque perforation de chiffre 0 à 9 des cartes perforées précédentes devenait codée en décimal codé binaire (DCB/BCD), il s'agit des lignes de bits 1, 2, 4 et 8 sur la carte, offrant 10 valeurs.
  • Les deux perforations supérieures restantes offrent quatre possibilités[6] . Les mêmes caractères qui étaient auparavant codés sur douze bits n'étaient dès lors plus codés que sur six bits.

La carte perforée comporte 3 groupes de 32 caractères, soit 96 caractères au total, chacun sur 6 bits. Il y avait donc 64 caractères possibles. Ce type de carte était également utilisé pour encoder des caractères sur 8 bits en EBCDIC : le groupe du haut combiné avec 2 bits du groupe du bas, ainsi que le groupe du milieu avec 2 autres bits du groupe inférieur formaient 2 groupes de 32 caractères sur 8 bits, soit 64 caractères 8 bits par carte perforées[7].

Notes et références

  1. http://www.kerleo.net/computers/mecanographie.htm
  2. Frank da Cruz, « Herman Hollerith », sur Columbia University Computing History, Columbia University, 2019a (consulté le )
  3. http://yves.cornil.free.fr/cartep.htm
  4. http://tronweb.super-nova.co.jp/characcodehist.html
  5. IBM Corporation, 704 electronic data-processing machine: manual of operation, (lire en ligne) p. 35
  6. The Punched card
  7. Dik T Winter, « 96-column Punched Card Code » [archive du ] (consulté le )
  • Portail de l’informatique


Cet article est issu de Wikipedia. Le texte est sous licence Creative Commons - Attribution - Partage dans les Mêmes. Des conditions supplémentaires peuvent s'appliquer aux fichiers multimédias.