American Standard Code for Information Interchange

Page d'aide sur les redirections « ASCII » redirige ici. Pour les autres significations, voir ASCII (homonymie).
ISO/CEI 646-02 ou ISO/CEI 646-06 (ASCII)
Liste des 95 caractères imprimables d'ASCII.
Les 95 caractères imprimables d'ASCII :
 !"#$%&'()*+,-./0123456789:;<=>[email protected][\]^_`abcdefghijklmnopqrstuvwxyz{|}~

FamilleISO/CEI 646
LanguesAnglais
Nombre de caractères128
État du projetNorme établie
Plates-formesToutes
Numéro d'enregistrement002
006
038 (EBCDIC USA ASCII)
367 (IBM AIX 7-bit US-ASCII)
371 (IBM AIX 7-bit US-ASCII APL)
907 (DOS ASCII APL)
1054 (HP ASCII)
20127 (Microsoft 7-bit US-ASCII)
LicenceNorme ISO payante
Séquences d'échappement002: jeu G0: ESC 2/8 4/0
jeu G1: ESC 2/9 4/0

006: jeu G0: ESC 2/8 4/2
jeu G1: ESC 2/9 4/2

Unité de codage (codet)Sept à huit bits suffisent
Première versionISO/CEI 646-02 et ISO/CEI 646-06 (1er janvier 1975)

L'American Standard Code for Information Interchange (Code américain normalisé pour l'échange d'information), plus connu sous l'acronyme ASCII ([askiː]), est une norme informatique de codage de caractères apparue dans les années 1960. C'est la norme de codage de caractères la plus influente à ce jour. ASCII définit 128 codes à 7 bits, comprenant 95 caractères imprimables : les chiffres arabes de 0 à 9, les lettres minuscules et capitales de A à Z, et des symboles mathématiques et de ponctuation. ASCII suffit pour représenter les textes en anglais, mais il est trop limité pour les autres langues, dont le français et ses lettres accentuées. Les limitations du jeu de caractères ASCII sont encore sensibles au e siècle, par exemple dans le choix restreint de caractères généralement offerts pour composer une adresse email.

L'ASCII est une des variantes de la norme ISO/CEI 646. Il est inclus dans plusieurs dizaines de normes couvrant plus de caractères, qui sont parfois informellement appelées ASCII étendu. Celles-ci peuvent être régionales (ISO/CEI 8859), nationales (GB 18030) ou internationales (Unicode). Dans la norme Unicode, le standard ASCII est défini sous le nom de « C0 Controls and Basic Latin ». Avec l'avènement de la mondialisation et de l'internationalisation des systèmes d'information, les limitations de l'ASCII ne sont plus acceptées que dans des domaines techniques qui requièrent la compatibilité avec des protocoles ou systèmes anciens.

Histoire

Table ASCII dans un manuel d'imprimante de 1972.

Avant la standardisation, de nombreux codages de caractères incompatibles entre eux existaient[1]. Chaque matériel avait son propre codage, lié aux techniques qu'il utilisait : lecteur/perforateur de cartes 1442, imprimantes 1132 et 1403. Tout ordinateur, comme l'IBM 1130, était livré avec ses sous-programmes et ses tables permettant de transposer les codes d'un matériel à un autre. D'autres standards étaient utilisés, notamment pour les cartes perforées (Bull et IBM avaient chacun leur code, tous deux incompatibles)[2].

En 1960, l'ISO a créé le Technical Committee on Computers and Information Processing[3]. Il a été divisé en six groupes de travail :

  • Working Group A : Glossary ;
  • Working Group B : Character Sets and Coding ;
  • Working Group C : Character Recognition ;
  • Working Group D : Input and Output Media ;
  • Working Group E : Programming Languages ;
  • Working Group F : Digital Data Transmission.

L'American Standards Association (ASA, aujourd'hui ANSI) était chargée du standard des États-Unis. L'ASA a reconnu le consortium Business Equipment Manufacturers Association (BEMA, puis, CBEMA) comme le parrain du travail de standardisation du traitement des données. En 1960, BEMA a formé un groupe de traitement des données des partenaires, dont Minneapolis-Honeywell. Ce groupe a formé un Plans and Policies Committee, qui à son tour a formé l'Engineering Committee. L'Engineering Committee a formé le comité X3, qui a été reconnu par l'ASA comme Sectional Committee. Parmi les membres du comité, Bob Bemer est parfois présenté comme père de l'ASCII, ce qu'il ne faut pas comprendre comme inventeur de l'ASCII, mais comme grand artisan de la diffusion d'ASCII [4].

En 1961, le DoD met au point un code standard de transmission de donnée sur 8 bits[5]. Ce standard 8 bits est une variante des standards FIELDATA sixbits utilisés dans la décennie précédente par la défense. Il a eu une influence notable sur la première version de l'ASCII.

En 1963, la première version publiée de l'ASCII apparaît. La liste des caractères à considérer et leur position ont été débattues[6].

Sa dernière version stabilisée a été normalisée par l'ANSI en 1986 sous la désignation ANSI X3.4:1986 (après deux autres versions en 1967 et 1968, historiquement normalisées par l'ASI, devenu ANSI mais qui ne normalisait pas encore toutes les positions). C'est également la variante américaine des jeux de caractères codés selon la norme ISO/CEI 646 avec laquelle on la confond souvent (d'où sa désignation également comme US-ASCII pour lever l'ambigüité, désignation préférée dans le registre IANA des jeux de caractères codés).

À l'époque elle a été en concurrence avec des standards incompatibles. Par la suite, l'existence de nombreux codages reprenant les conventions de l'ASCII l'a rendu très populaire. IBM, qui utilisait sur ses mainframes un autre codage, l'EBCDIC, ne commença à utiliser officiellement l'ASCII sur ses matériels qu'avec l'IBM PC, en 1981.

Principes

L'ASCII définit 128 caractères numérotés de 0 à 127 et codés en binaire de 0000000 à 1111111. Sept bits suffisent donc. Toutefois, les ordinateurs travaillant presque tous sur un multiple de huit bits (un octet) depuis les années 1970, chaque caractère d'un texte en ASCII est souvent stocké dans un octet dont le 8e bit est 0. Aujourd'hui encore, certains systèmes de messagerie électronique et de SMS fonctionnent avec des bytes ou multiplet composés de seulement sept bits (contrairement à un octet qui est un byte ou multiplet standardisé à huit bits).

Les caractères de numéro 0 à 31 et le 127 ne sont pas affichables ; ils correspondent à des commandes de contrôle de terminal informatique. Le caractère numéro 127 est la commande pour effacer. Le caractère numéro 32 est l'espace. Les autres caractères sont les chiffres arabes, les lettres latines majuscules et minuscules sans accent, des symboles de ponctuation, des opérateurs mathématiques et quelques autres symboles.

Limitations

L'absence des caractères des langues étrangères à l'anglais rend ce standard insuffisant à lui seul pour des textes étrangers (par exemple en langue française), ce qui rend nécessaire l'utilisation d'autres encodages.

Lorsqu'il est employé seul pour la langue anglaise, il interdit l'usage des accents dans la langue anglaise (cf. wikt:en:Appendix:English words with diacritics).

Quelques-uns des caractères graphiques ASCII ont provoqué une polysémie. Ceci est en tout ou partie lié au nombre limité de codets dans un jeu à sept bits. Ceci se retrouve notamment dans les symboles de ponctuation et l'utilisation des guillemets. L'ASCII a été conservé parce qu'il est omniprésent dans de nombreux logiciels. Cet héritage se retrouve dans Unicode où ces signes sont dans un bloc disjoint des autres symboles similaires, se trouvant pour la plupart codés à partir de U+2000[7].

Internationalisation

Les limites du standard américain ASCII ont conduit, sur trois périodes différentes, à trois approches de l'internationalisation :

  • l'utilisation de standards régionaux à caractères-mono-octets, techniquement les plus faciles à mettre en place ;
  • l'utilisation de standards extensibles, où un même octet peut représenter un caractère différent suivant le contexte (famille ISO/CEI 2022) ainsi que des extensions où un caractère est codé sur plusieurs octets ;
  • l'utilisation du standard Unicode (famille UTF), qui est celui qui comprend le plus grand nombre de caractères.

Les standards régionaux ont l'inconvénient de ne permettre la représentation que d'un ensemble réduit de caractères, comme les caractères d'Europe occidentale. Avec cette approche, il est nécessaire d'indiquer l'encodage à l'extérieur du flot.

Les standards extensibles ont l'inconvénient d'être contextuels. Il se peut que des logiciels utilisant certains algorithmes de recherche manquent d'interopérabilité à cet égard.

Les formes de codage définies par le standard Unicode ont l'inconvénient de la présence éventuelle d'un indicateur d'encodage en début de flot, qui le cas échéant est introduit par le caractère Byte Order Mark (BOM). Certains logiciels anciens ne sont pas compatibles avec la présence de ces trois octets, et ne pourront pas l'être en raison de la complexité conceptuelle que représente le fait de traiter ces trois octets. En particulier, certaines opérations deviennent plus complexes comme la concaténation de chaînes.

Standardisation

Le jeu de codage ASCII est défini quasiment identiquement par plusieurs standards différents, a de nombreuses variantes et a donné naissance à une foison (des dizaines ou des centaines) d'extensions plus ou moins incompatibles entre elles.

Les principales extensions sont justifiées par le fait que l'ASCII ne répond pas aux divers besoins régionaux. Elles sont proposées par des organismes de normalisation, ou par des fournisseurs de produits et de services.

Les standards ASCII

N.B. — Ne pas confondre USASI X3.4-1968 ou ANSI X3.4-1968 et ANSI X3.4:1986.

Standards ASCII des États-Unis (les standards hérités, et le standard en vigueur) :

  • ASA X3.4-1963, (incomplet avec 28 positions libres, et un code de commande non assigné) ;
  • USASI X3.4-1967 (renommé rétroactivement ANSI X3.4-1967), ne normalisait pas encore toutes les positions ;
  • USASI X3.4-1968 (renommé rétroactivement ANSI X3.4-1968), ne normalisait pas encore toutes les positions ;
  • ANSI X3.4-1977 ;
  • ANSI X3.4:1986 (en 1986, et en vigueur aujourd'hui).

Les standards internationaux suivants sont généralement considérés compatibles (quasi-identiques) avec le standard ASCII en vigueur de 1986 à 2011, tout en constituant une normalisation internationale officielle :

  • Norme ISO/CEI 646 :
    • ISO/CEI 646-US Variante des États-Unis,
    • Variante IRV internationale ;
  • Code page IBM 367 ;
  • Alphabet International de Référence :
    • Alphabet International de Référence no 5 (de 1988)[8],
    • Alphabet International de référence no 5 (dans le jeu G0 de l'IRV)[9].

La désignation US-ASCII, ASCII É-U ou ASCII des États-Unis est un mélange des désignations précédentes. Le registre IANA lui attribue la dénomination US-ASCII, sans en définir le codage.

Approximation, variantes et extensions

  • Norme ISO/CEI 646
    • Variante INV invariable (incomplète par rapport aux deux précédentes).

Trois types de codages de caractères se rapprochent de l'ASCII :

  • ceux qui ne changent que par la dénomination — ils sont essentiellement identiques à l'ASCII ;
  • ceux qui sont des variantes, l'ASCII étant à l'origine la variante locale aux États-Unis de l'ISO/CEI 646 ;
  • ceux qui l'augmentent, dits extensions.

Alias

En juin 1992, le RFC[10] et la chambre d'enregistrement de jeux de caractères Internet Assigned Numbers Authority[11] ont reconnu les alias suivants, insensibles à la casse, convenables pour l'utilisation dans des protocoles Internet :

  • ANSI_X3.4-1968 (canonical name)
  • iso-ir-6
  • ANSI_X3.4-1986
  • ISO_646.irv:1991
  • ASCII (with ASCII-7 and ASCII-8 variants)
  • ISO646-US
  • US-ASCII (preferred MIME name)[11]
  • us
  • IBM367
  • cp367
  • csASCII

L'IANA promeut plus particulièrement la dénomination « US-ASCII » pour Internet.

Variantes

Article détaillé : ISO/CEI 646.

ASCII a donné naissance à certaines variantes qui conservent la plupart des caractères, mais en remplacent une partie. Dès lors, il ne s'agit plus d'ASCII à strictement parler. Outre ISO/CEI 646, on trouve d'autres variantes dans l'histoire de l'informatique. Par exemple, le circonflexe (#94) est remplacé par la flèche vers le haut et le soulignement (#95) est remplacé par la flèche vers la gauche, dans l'ensemble de caractères intégré des puces Motorola 6847 (VDG) et du GIME, qui les adapteurs vidéo de l'Ordinateur Couleur et d'autres anciens ordinateurs des années 1980. Mais plusieurs années plus tôt, les ordinateurs Xerox équipés du langage de programmation Smalltalk incluaient les mêmes deux caractères (en mode graphique).

Aussi, certains anciens ordinateurs n'étaient équipés que du deux-tiers d'ASCII, c'est-à-dire les caractères 32 à 95 plutôt que 32 à 126. C'est alors à proprement parler une variante à 6 bits. Sur l'Ordinateur Couleur, on mettait dans les fichiers les codes 32 à 127, mais ceux de 96 à 127 étaient des versions en couleurs inversées (vert sur noir plutôt que noir sur vert). Ces blocs de 32 caractères étaient échangés au moment d'envoyer au VDG, pour lequel les codes ASCII 32 à 63 étaient numérotés 96 à 127, tandis que les 0 à 63 étaient en couleurs inversées (en soustrayant 64). En outre, les codes 128 à 255 encodaient des formes de blocs en couleurs. Le GIME était capable de fonctionner soit comme le VDG, soit en mode ASCII, avec circonflexe #94, soulignement #95. Il avait aussi en option sa propre extension 8-bit pour les lettres accentuées minuscules et majuscules, compatible avec probablement aucun autre ordinateur (en plus d'être impossibles à insérer autrement que par n° dans le code source BASIC).

Certaines extensions 7-bit ont un caractère #127, comme les premiers Apple, qui y avaient un quadrillé, et les cartes vidéo PC (Page de code 437) qui y avaient une sorte de pentagone, en plus de remplir les cases 0 à 31 de flèches, cercles et signes divers. Naturellement, on ne pouvait pas utiliser ces codes dans les contextes où ils avaient une signification de contrôle ; et inversement, lorsque des codes de contrôle n'étaient pas interprétés comme tels, comme quand le #27 est censé signifier commencer une séquence VT100 ([1]).

Huitième bit et augmentations

Article détaillé : ASCII étendu.

De nombreuses normes de codage de caractères ont repris les codes ASCII et ajouté d’autres caractères pour les codes supérieurs à 127.

Parmi les nombreuses extensions 8 bits de l'ASCII, le Multinational Character Set créé par Digital Equipment Corporation pour le terminal informatique VT220 est considéré comme à la fois l'ancêtre de l'ISO 8859-1 et de l'Unicode[12].

Extensions mono-octets

En particulier, beaucoup de pages de codes étendent l'ASCII en utilisant le 8e bit pour définir des caractères numérotés de 128 à 255. La norme ISO/CEI 8859 fournit des extensions pour diverses langues. Par exemple, l'ISO 8859-1, aussi appelée Latin-1, étend l'ASCII avec les caractères accentués utiles aux langues originaires d'Europe occidentale comme le français ou l'allemand.

Par abus de langage, on appelle souvent « ASCII » des normes qui étendent l'ASCII, mais qui ne sont pas compatibles entre elles (et parfois même ne sont pas compatibles sur leurs 128 premiers caractères codés). En particulier, les standards Windows-1252 (couramment utilisé sur Microsoft Windows dans les pays occidentaux), ISO 8859-1 (couramment utilisé sur Internet et Unix) et les pages de code pour PC numéro 437 et 850 (couramment utilisées sur DOS) ne sont pas la norme ASCII. Cet abus de langage ne va pas sans causer des confusions causant des incompatibilités, souvent rendues visibles par le fait que les caractères non ASCII comme les « lettres accentuées » (éÈç) s'affichent mal. On écrit parfois « ASCII de base » pour différencier l'ASCII d'un standard plus étendu.

Extensions asiatiques, à base de séquences d'échappement

Afin d'unifier les différents codages de caractères complétant l'ASCII et y intégrer les codages complètement différents (le JIS pour le japonais par exemple, qui bien que développé aussi sur la base de l'US-ASCII, en diffère dans l'assignation d'un des 128 premiers codets), la norme ISO/CEI 10646 a été inventée (et aussi développée au départ séparément par le Consortium Unicode dans une version de sa norme Unicode 1.0 initialement incompatible avec ISO/CEI 10646).

Voir notamment ISO 2022.

Extensions Unicode

La version 1.0 a été abandonnée depuis la version 1.1 afin d'unifier et fusionner les deux répertoires dans un jeu universel de caractères codés. ISO/CEI 10646 codifie des dizaines de milliers de caractères, mais les 128 premiers restent compatibles avec ASCII (dans sa dernière version X3.4-1986) ; la norme Unicode y ajoute des sémantiques supplémentaires.

Toutefois, certains pays d'Asie orientale (la République populaire de Chine, les anciens dominions britannique et portugais en Chine, de Hong Kong et Macao, qui sont devenus depuis des régions administratives spéciales de Chine, la République de Chine à Taïwan, et le Japon) ont choisi de continuer à développer leur propre norme pour coder le jeu de caractères universel, tout en choisissant de les maintenir entièrement convertibles avec l'ISO/CEI 10646 ; parmi ces normes asiatiques, seule la norme nationale japonaise continue à maintenir une différence dans ses 128 premières positions avec le jeu ASCII, en codant le symbole monétaire du yen à la place de la barre oblique inversée (comme c'est aussi le cas dans la variante japonaise de la norme ISO/CEI 646).

Influence

L'ASCII a eu une influence importante dans le monde informatique. En particulier, il a longtemps limité les caractères disponibles aux caractères latins non accentués, notamment dans le monde de l'Internet, que ce soit pour les noms de domaine, les adresses de courrier électronique, les caractères disponibles dans le BIOS, ou les caractères dans lesquels peuvent être écrits des programmes informatiques.

Description

Table des 128 caractères ASCII

Table de correspondance ASCII.

Dans la table suivante, les 33 caractères de contrôle (codes 0 à 31 et 127) sont présentés avec leur nom en anglais suivi d'une traduction entre parenthèses.

Code en baseCaractèreSignification
108162
00000000000NULNull (nul)
101010000001SOHStart of Heading (début d'en-tête)
202020000010STXStart of Text (début de texte)
303030000011ETXEnd of Text (fin de texte)
404040000100EOTEnd of Transmission (fin de transmission)
505050000101ENQEnquiry (demande)
606060000110ACKAcknowledge (accusé de réception)
707070000111BELBell (sonnerie)
8010080001000BSBackspace (espacement arrière/supprimer)
9011090001001HTHorizontal Tab (tabulation horizontale)
100120A0001010LFLine Feed (saut de ligne)
110130B0001011VTVertical Tab (tabulation verticale)
120140C0001100FFForm Feed (saut de page)
130150D0001101CRCarriage Return (retour chariot/retour à la ligne)
140160E0001110SOShift Out (code spécial)
150170F0001111SIShift In (code standard)
16020100010000DLEData Link Escape (échappement en transmission)
17021110010001DC1Device Control 1 à 4 (contrôle de périphérique)
18022120010010DC2
19023130010011DC3
20024140010100DC4
21025150010101NAKNegative Acknowledge (accusé de réception négatif)
22026160010110SYNSynchronous Idle (attente synchronisée)
23027170010111ETBEnd of Transmission Block (fin de bloc de transmission)
24030180011000CANCancel (annulation)
25031190011001EMEnd of Medium (fin de support)
260321A0011010SUBSubstitute (remplacement)
270331B0011011ESCEscape (échappement)
280341C0011100FSFile Separator (séparateur de fichier)
290351D0011101GSGroup Separator (séparateur de groupe)
300361E0011110RSRecord Separator (séparateur d'enregistrement)
310371F0011111USUnit Separator (séparateur d'unité)
32040200100000SPSpace (espacement)
33041210100001!Point d'exclamation
34042220100010"Guillemet
35043230100011#Croisillon[9]
36044240100100$Dollar
37045250100101%Pourcent
38046260100110&Esperluette[9]
39047270100111'Apostrophe[13]
40050280101000(Parenthèse ouvrante
41051290101001)Parenthèse fermante
420522A0101010*Astérisque
430532B0101011+Plus
440542C0101100,Virgule
450552D0101101-Trait d'union, moins[9]
460562E0101110.Point
470572F0101111/Barre oblique
480603001100000Chiffre zéro
490613101100011Chiffre un
500623201100102Chiffre deux
510633301100113Chiffre trois
520643401101004Chiffre quatre
530653501101015Chiffre cinq
540663601101106Chiffre six
550673701101117Chiffre sept
560703801110008Chiffre huit
570713901110019Chiffre neuf
580723A0111010:Deux-points
590733B0111011;Point-virgule
600743C0111100<Inférieur
610753D0111101=Égal
620763E0111110>Supérieur
630773F0111111?Point d'interrogation
640100401000000@Arobase[9]
650101411000001ALettre latine capitale A
660102421000010BLettre latine capitale B
670103431000011CLettre latine capitale C
680104441000100DLettre latine capitale D
690105451000101ELettre latine capitale E
700106461000110FLettre latine capitale F
710107471000111GLettre latine capitale G
720110481001000HLettre latine capitale H
730111491001001ILettre latine capitale I
7401124A1001010JLettre latine capitale J
7501134B1001011KLettre latine capitale K
7601144C1001100LLettre latine capitale L
7701154D1001101MLettre latine capitale M
7801164E1001110NLettre latine capitale N
7901174F1001111OLettre latine capitale O
800120501010000PLettre latine capitale P
810121511010001QLettre latine capitale Q
820122521010010RLettre latine capitale R
830123531010011SLettre latine capitale S
840124541010100TLettre latine capitale T
850125551010101ULettre latine capitale U
860126561010110VLettre latine capitale V
870127571010111WLettre latine capitale W
880130581011000XLettre latine capitale X
890131591011001YLettre latine capitale Y
9001325A1011010ZLettre latine capitale Z
9101335B1011011[Crochet ouvrant
9201345C1011100\Barre oblique inversée
9301355D1011101]Crochet fermant
9401365E1011110^Accent circonflexe (avec chasse)
9501375F1011111_Tiret bas[9]
960140601100000`Accent grave (avec chasse)[14]
970141611100001aLettre latine minuscule a
980142621100010bLettre latine minuscule b
990143631100011cLettre latine minuscule c
1000144641100100dLettre latine minuscule d
1010145651100101eLettre latine minuscule e
1020146661100110fLettre latine minuscule f
1030147671100111gLettre latine minuscule g
1040150681101000hLettre latine minuscule h
1050151691101001iLettre latine minuscule i
10601526A1101010jLettre latine minuscule j
10701536B1101011kLettre latine minuscule k
10801546C1101100lLettre latine minuscule l
10901556D1101101mLettre latine minuscule m
11001566E1101110nLettre latine minuscule n
11101576F1101111oLettre latine minuscule o
1120160701110000pLettre latine minuscule p
1130161711110001qLettre latine minuscule q
1140162721110010rLettre latine minuscule r
1150163731110011sLettre latine minuscule s
1160164741110100tLettre latine minuscule t
1170165751110101uLettre latine minuscule u
1180166761110110vLettre latine minuscule v
1190167771110111wLettre latine minuscule w
1200170781111000xLettre latine minuscule x
1210171791111001yLettre latine minuscule y
12201727A1111010zLettre latine minuscule z
12301737B1111011{Accolade ouvrante
12401747C1111100|Barre verticale
12501757D1111101}Accolade fermante
12601767E1111110~Tilde
12701777F1111111DELDelete (effacement)

On peut aussi présenter la table des caractères ASCII sous cette forme plus condensée qui met en évidence une organisation fondée sur la base 16.

PDF : fr en
 v · d ·  
0
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F
000
NULSOHSTXETXEOTENQACKBELBSHTLFVTFFCRSOSI
001
DLEDC1DC2DC3DC4NAKSYNETBCANEMSUBESCFSGSRSUS
002
SP!"#$%&'()*+,-./
003
0123456789:;<=>?
004
@ABCDEFGHIJKLMNO
005
PQRSTUVWXYZ[\]^_
006
`abcdefghijklmno
007
pqrstuvwxyz{|}~DEL

Caractères de contrôle

NUL

Null : nul. Il est à l'origine une NOP, c'est-à-dire un caractère à ignorer. Lui donner le code 0 permettait de prévoir des réserves sur les bandes perforées en laissant des zones sans perforation pour insérer de nouveaux caractères a posteriori. Avec le développement du langage C, il a pris une importance particulière quand il a été utilisé comme indicateur de fin de chaîne de caractères.

SOH

Start of Heading : début d'en-tête. Il est aujourd'hui souvent utilisé dans les communications séries pour permettre la synchronisation après erreur[15].

DEL

Delete : effacement. Lui donner le code 127 (1111111 en binaire) permettait de supprimer a posteriori un caractère sur les bandes perforées qui codaient les informations sur 7 bits. N'importe quel caractère pouvait être transformé en DEL en complétant la perforation des 7 bits qui le composaient.

LF, CR

Line Feed : saut de ligne, Carriage Return : retour chariot. Dans un fichier texte, la fin d'une ligne est représentée par un ou deux caractères de contrôle. Plusieurs conventions existent :

Ainsi, lorsqu'on transfère un fichier ASCII entre des systèmes ayant des conventions de fin de ligne différentes, il faut convertir les fins de ligne pour pouvoir manipuler le fichier confortablement sur le système cible. Autrement, il faut utiliser un éditeur de texte capable de gérer les diverses conventions de fin de ligne, ce qui n'est par exemple pas le cas du classique Bloc-notes de Microsoft Windows. Les programmes utilisant les fichiers ASCII ne sont en général pas perturbés par un changement de type de fin de ligne.

SUB

Substitute : remplacement. Il est souvent associé à la combinaison de touches Ctrl + z et est utilisé dans les communications séries pour permettre l'envoi des données en lieu et place de la touche entrée.

Voir aussi

Notes et références

  1. http://www.trailing-edge.com/~bobbemer/SURVEY.HTM
  2. Pascal Becker, Histoire des supports informatiques (lire en ligne)
  3. http://discover.lib.umn.edu/cgi/f/findaid/findaid-idx?c=umfa;cc=umfa;rgn=main;view=text;didno=cbi00067
  4. http://www.bobbemer.com/FATHEROF.HTM
  5. Appendix §A.6.8 de la norme de A963
  6. http://www.cs.tut.fi/~jkorpela/latin1/ascii-hist.html
  7. (fr) Unicode 5.0 en pratique, chapitre 7 « Ponctuation », Patrick Andries.
  8. Alphabet International de référence no 5 : RECOMMANDATION T50, Union international des télécommunications, (lire en ligne)
  9. a, b, c, d, e et f Alphabet International de référence : ANCIEN ALPHABET INTERNATIONAL no 5 ou AI5, RECOMMANDATION T50, Union international des télécommunications, (lire en ligne)
  10. (en) K. Simonsen, Rationel Almen Planlaegning, lire en ligne).
  11. a et b Internet Assigned Numbers Authority (May 14, 2007). "Character Sets". Accessed 2008-04-14.
  12. Roman Czyborra, « ISO 8859-1 and MCS, from ISO 8859 Alphabet Soup », sur czyborra.com
  13. La norme ANSI X3.4 définit le caractère 39 par apostrophe (closing single quotation mark, acute accent) et les anciennes tables de caractères le représentaient souvent incliné. Les encodages plus récents restreignent ce code à la représentation de l'apostrophe verticale (ni penchée à droite, ni à gauche, mais neutre). Voir anciennes tables de caractères le représentaient souvent incliné. Les encodages plus récents restreignent ce code à la représentation de l'apostrophe verticale (ni penchée à droite, ni à gauche, mais neutre). Voir Latin-1's apostrophe, grave accent, acute accent.
  14. Le code 96 est également employé comme guillemet ouvrant simple en ASCII. En Unicode, il existe un code plus approprié.
  15. (en) ASCII character set

Bibliographie

  • (en) Business Equipment Manufacturer Associations, American Standard Code for Information Interchange : ASA standard X3.4-1963, American Standards Asociation Incorporated, (lire en ligne)
  • (en) Eric Fischer, The Evolution of Character Codes, 1874-1968, .transbay.net (lire en ligne)

Articles connexes