ASCII - ASCII


Un article de Wikipédia, l'encyclopédie libre

ASCII
ASCII-infobox.svg
ASCII (1967 ou plus tard)
MIME / IANA us-ascii
Alias ​​(s) ASCII
Langue (s) Anglais
Classification série ISO 646
extensions
Précédé par ITA 2 , fieldata
succédé par ISO 8859 , Unicode
Autre encodage connexe (s) PETSCII

ASCII ( / æ s k Í /  ( écouter ) A propos de ce son CUL -kee ), en abrégé de code standard américain pour l' échange d' information , est un codage des caractères standard pour la communication électronique. Codes ASCII représentent le texte dans les ordinateurs, les équipements de télécommunications et d' autres appareils. La plupart des systèmes de codage de caractères modernes sont basés sur ASCII, bien qu'ils prennent en charge de nombreux caractères supplémentaires.

ASCII est le nom traditionnel pour le système de codage; l' Internet Assigned Numbers Authority (IANA) préfère le nom mis à jour US-ASCII , qui précise que ce système a été mis au point aux États - Unis et sur la base des symboles typographiques principalement utilisé dans le pays .

ASCII est l' une des étapes de l' IEEE .

Tableau ASCII à partir d'un plus tôt que 1972 manuel de l'imprimante (b1 est le bit le moins significatif.)

vue d'ensemble

ASCII a été développé à partir du code télégraphique . Sa première utilisation commerciale était comme sept bits téléscripteur le code promu par les services de données de Bell. Les travaux sur la norme ASCII a commencé le 6 Octobre 1960, avec la première réunion de l' American Standards Association d »(ASA) (maintenant l' American National Standards Institute ou ANSI) sous - comité X3.2. La première édition de la norme a été publiée en 1963, a subi une révision majeure en 1967, et a connu sa dernière mise à jour en 1986. Par rapport aux codes télégraphiques précédents, le code de Bell proposé et ASCII ont tous deux été commandés pour le tri plus pratique (c. -à- alphabetization ) des listes et des fonctionnalités supplémentaires pour les appareils autres que téléscripteurs.

A l' origine basé sur l' alphabet anglais , ASCII code 128 spécifiés caractères en entiers de sept bits comme le montre le tableau ci - dessus ASCII. Quatre-vingt-cinq des caractères codés sont imprimables: ceux - ci comprennent les chiffres 0 à 9 , les lettres minuscules a à z , les lettres majuscules A à Z , et les symboles de ponctuation . En outre, la spécification ASCII initial comprenait 33 non-impression des codes de contrôle qui ont été présentés avec des machines de télétype ; la plupart d' entre eux sont aujourd'hui obsolètes, bien que quelques - uns sont encore couramment utilisés, tels que le retour chariot , saut de ligne et onglet codes.

Par exemple, en minuscule i serait représenté dans le codage ASCII en binaire 1101001 = hexadécimal 69 ( i est la neuvième lettre) = décimal 105.

L'histoire

ASCII (1963). Images de contrôle des contrôles équivalents sont présentés là où ils existent, ou un point gris autrement.

Le code standard américain pour l' échange d' information (ASCII) a été développé sous les auspices d'un comité de l' American Standards Association (ASA), appelé le comité X3, par son sous - comité X3.2 (plus tard X3L2), puis par le X3 de ce sous - comité. 2.4 groupe de travail (maintenant INCITS ). L'ASA est devenu le États-Unis d'Amérique Standards Institute (USASI) et , finalement , l' American National Standards Institute (ANSI).

Avec les autres caractères spéciaux et des codes de commande remplis, ASCII a été publié comme ASA X3.4-1963, laissant 28 positions de code sans sens, réservés à une normalisation future, et un code de contrôle non affecté. Il y avait un débat à l'époque s'il devrait y avoir plus de caractères de contrôle plutôt que l'alphabet en minuscules. L'indécision n'a pas duré longtemps: en mai 1963 , le Groupe de travail CCITT sur le New Telegraph Alphabet a proposé d'affecter des caractères minuscules à bâtons 6 et 7, et Organisation internationale de normalisation TC 97 SC 2 a voté en Octobre pour intégrer le changement dans son projet de norme . Le groupe de travail de X3.2.4 a voté son approbation pour que le changement ASCII à sa réunion de mai 1963 VACCINATION . Localisation des lettres minuscules dans des bâtons 6 et 7 a causé le caractère diffère en configuration de bits à partir du boîtier supérieur par un seul bit, ce qui simplifie la casse correspondance de caractères et la construction des claviers et des imprimantes.

Le comité X3 a fait d' autres changements, y compris d' autres nouveaux personnages (l' accolade et barres verticales caractères), de renommer certains caractères de contrôle (SOM est devenu début de la tête (SOH)) et le déplacement ou la suppression d' autres (RU a été retiré). ASCII a été mis à jour par la suite comme USAS X3.4-1967, puis USAS X3.4-1968, ANSI X3.4-1977, et enfin, ANSI X3.4-1986.

Les révisions de la norme ASCII:

  • ASA X3.4-1963
  • ASA X3.4-1965 (approuvé, mais non publié, néanmoins utilisé par IBM 2260 & 2265 Stations d'affichage et IBM 2848 Control)
  • USAS X3.4-1967
  • USAS X3.4-1968
  • ANSI X3.4-1977
  • ANSI X3.4-1986
  • ANSI X3.4-1986 (r1992)
  • ANSI X3.4-1986 (r1997)
  • ANSI 4-1986 INCITS (R2002)
  • ANSI 4-1986 INCITS (C2007)
  • ANSI 4-1986 INCITS (R2012)

Dans la norme X3.15, le comité X3 a également abordé la façon dont doit être transmis ASCII ( bit le moins significatif en premier), et comment il doit être enregistré sur bande perforée. Ils ont proposé un 9 pistes standard pour bande magnétique et ont tenté de traiter avec des cartes perforées formats.

Considérations sur la conception

bit width

Le sous - comité X3.2 conçu ASCII sur la base des premiers téléscripteurs systèmes de codage. Comme d' autres codages de caractères , ASCII spécifie une correspondance entre les modèles de bits numériques et caractères symboles (c. -à- graphèmes et les caractères de contrôle ). Cela permet numérique aux appareils de communiquer entre eux et pour traiter, stocker et communiquer des informations orientées caractère comme la langue écrite. Avant a été développé ASCII, les codages utilisés comprenaient 26 alphabétiques caractères, 10 chiffres numériques , et de 11 à 25 symboles graphiques spéciaux. Pour inclure tous ces, et les caractères de contrôle compatibles avec le Comité Consultatif International Téléphonique et Télégraphique (CCITT) Alphabet télégraphique international n ° 2 norme de 1924, (ITA2) fieldata (1956), et au début de EBCDIC (1963), plus de 64 codes ont été requis pour ASCII.

ITA2 étaient à son tour , en fonction du code télégraphique 5 bits Émile Baudot a inventé en 1870 et breveté en 1874.

Le comité a débattu de la possibilité d'un décalage fonction (comme dans ITA2 ), ce qui permettrait à plus de 64 codes à être représentés par un code à six bits . Dans un code décalé, certains codes de caractères déterminent les choix entre les options pour les codes de caractères suivants. Il permet l' encodage compact, mais elle est moins fiable pour la transmission de données , comme une erreur dans la transmission du code de décalage fait généralement une longue partie de la transmission illisible. Le comité de normalisation a décidé contre le déplacement, et donc ASCII requis au moins un code à sept bits.

Le comité a examiné un code à huit bits, depuis huit bits ( octets ) permettrait à deux modèles de quatre bits pour coder efficacement deux chiffres avec décimales codées en binaire . Cependant, il faudrait toutes les transmissions de données à envoyer huit bits quand sept pourrait suffire. Le comité a voté pour utiliser un code à sept bits pour minimiser les coûts associés à la transmission de données. Etant donné que la bande perforée au moment pourrait enregistrer huit bits dans une position, il a également permis un bit de parité pour contrôle d' erreur , si désiré. Huit bits machines (avec octets que le type de données natif) qui n'ont pas utilisé la parité vérification généralement fixé le huitième bit à 0. Dans certaines imprimantes, le bit a été utilisé pour permettre Italique l' impression.

Organisation interne

Le code lui - même a été modelée de sorte que la plupart des codes de contrôle étaient ensemble et tous les codes graphiques ont été ensemble, pour faciliter l'identification. Les deux premiers soi - disant bâtons ASCII (32 positions) ont été réservés pour les caractères de contrôle. Le « espace » caractère devait venir avant graphiques pour rendre le tri plus facile, il est donc devenu la position 20 hex ; pour la même raison, de nombreux signes spéciaux couramment utilisés comme séparateurs ont été placés devant les chiffres. Le comité a décidé qu'il était important de soutenir majuscules alphabets 64 caractères , et a choisi le modèle ASCII il pourrait facilement être réduit à un ensemble de 64 caractères utilisable de codes graphiques, comme cela a été fait dans le décembre sixbit code (1963). Minuscules lettres ne sont donc pas intercalées avec majuscule. Pour conserver les options disponibles pour les lettres minuscules et d' autres graphiques, les codes spéciaux et numériques ont été organisées avant les lettres et la lettre A a été placé en position 41 hex pour correspondre au projet de la norme britannique correspondante. Les chiffres 0-9 sont préfixés par 011, mais le reste des 4 bits correspondent à leurs valeurs respectives en binaire, ce qui rend la conversion de binaire codé décimal simple.

La plupart des caractères non alphanumériques ont été positionnés pour correspondre à leur position décalée sur des machines à écrire; une subtilité importante est que celles - ci étaient fondées sur des mécaniques des machines à écrire, non électriques machines à écrire. Machines à écrire mécanique suivie de la norme établie par le Remington n ° 2 (1878), la première machine à écrire avec une clé de changement de vitesse, et les valeurs décalées d' 23456789-étaient "#$%_&'() - premières machines à écrire omis 0 et 1 , en utilisant O (lettre majuscule o ) et l (lettre minuscule L ) à la place, mais 1!et 0)paires est devenu la norme une fois 0 et 1 est devenu commun. Ainsi, en ASCII !"#$%ont été placés dans le second bâton, les positions 1 à 5, correspondant aux chiffres 1-5 dans le manche adjacent. Les parenthèses pourraient ne pas correspondre à 9 et 0 , cependant, parce que l'endroit correspondant à 0 a été prise par le caractère d'espace. Ceci a été reçue en enlevant _(souligné) à partir de 6 et décaler les caractères restants, ce qui correspond à de nombreuses machines à écrire européennes , qui place les parenthèses avec 8 et 9 . Cet écart de machines à écrire conduit à des claviers apparié bits , notamment le téléscripteur Model 33 , qui a utilisé la disposition décalée à gauche correspondant à ASCII, et non à des machines à écrire mécaniques traditionnelles. Machines à écrire électriques, notamment le IBM Selectric (1961), ont utilisé une disposition quelque peu différente qui est devenu la norme sur les ordinateurs - suivant le PC IBM (1981), en particulier le modèle M (1984) - et donc déplacent les valeurs des symboles sur les claviers modernes ne correspondent pas aussi près à la table ASCII que les claviers précédents ont fait. La /?paire date également du n ° 2, et les ,< .>paires ont été utilisés sur certains claviers (autres, y compris le n ° 2, ne pas changer ,(virgule) ou .(arrêt complet) afin qu'ils puissent être utilisés en majuscules sans unshifting). Cependant, ASCII divisé la ;:paire (datant de n ° 2), et réarrangés symboles mathématiques (conventions variées, souvent -* =+) à :* ;+ -=.

Certains caractères communs ne sont pas inclus, notamment ½¼¢, en ^`~ont été inclus comme diacritiques pour une utilisation internationale, et <>pour une utilisation mathématique, ainsi que les simples caractères de ligne \|(en plus commun /). Le @ symbole n'a pas été utilisé en Europe continentale et le comité prévu , il serait remplacé par un accentué À la variation française, de sorte que le @ a été placé en position 40 hex , juste avant la lettre A.

Les codes de contrôle ont estimé essentiel pour la transmission des données ont été le début du message (SOM), à la fin de l' adresse (EOA), la fin du message (EOM), fin de transmission (EOT), "qui êtes - vous?" (WRU), "êtes - vous?" (RU), une commande de dispositif réservé (DC0), au repos synchrone (SYNC), et accusé de réception (ACK). Ceux - ci ont été placés pour maximiser la distance de Hamming entre leurs modèles de bits.

ordre de caractère

Ordre ASCII code est également appelé ASCIIbetical commande. Collation des données est parfois fait dans cet ordre plutôt que par ordre alphabétique « standard » ( séquence de classement ). Les principaux écarts dans l' ordre ASCII sont:

  • Toutes les majuscules avant les minuscules; par exemple, « Z » précède « a »
  • Et beaucoup de Digits signes de ponctuation précèdent les lettres

Un ordre intermédiaire convertit les lettres en majuscules en minuscules avant de comparer les valeurs ASCII.

groupes de caractères

Les caractères de contrôle

ASCII se réserve les 32 premiers codes (numéros 0-31 décimales) pour les caractères de contrôle : codes à l' origine destinés à ne pas représenter des informations à imprimer, mais plutôt de contrôler les appareils (tels que les imprimantes ) qui utilisent ASCII ou de fournir des méta-informations sur les données courants tels que ceux qui sont stockés sur la bande magnétique.

Par exemple, le caractère 10 représente la fonction « saut de ligne » ( ce qui provoque une imprimante pour faire avancer son papier), et le caractère 8 représente « backspace ». RFC  2822 fait référence aux caractères de contrôle qui ne comprennent pas le retour du chariot, avance de ligne ou espace blanc en tant que caractères de contrôle non-blancs. A l' exception des caractères de contrôle qui prescrivent le formatage orienté ligne élémentaire, ASCII ne définit pas de mécanisme pour décrire la structure ou l' aspect du texte dans un document. D' autres programmes, tels que les langages de balisage , la page d'adresse et mise en page de documents et la mise en forme.

La norme ASCII d' origine utilisé que de courtes phrases descriptives pour chaque caractère de contrôle. L'ambiguïté de cette cause était parfois intentionnelle, par exemple , où un personnage serait utilisé de façon légèrement différente sur une liaison terminal que sur un flux de données , et parfois accidentelle, par exemple avec le sens de « supprimer ».

Probablement le seul appareil le plus influent sur l'interprétation de ces personnages était le modèle téléscripteur 33 ASR, qui était un terminal d'impression avec une disposition bande de papier option de lecteur / punch. Bande de papier est un support très populaire pour le stockage de programme à long terme jusqu'à ce que les années 1980, moins coûteux et à certains égards moins fragiles que la bande magnétique. En particulier, les affectations de machine modèle Teletype 33 pour les codes 17 (Control-Q, DC1, également connu comme XON), 19 (Contrôle-S, DC3, également connu sous XOFF), et 127 ( Delete ) deviennent des standards de fait. Le modèle 33 a également été marquée pour prendre la description du contrôle-G (Code 7, BEL, ce qui signifie alerter l'opérateur audible) littéralement, comme l'unité contenait une cloche réelle dont elle a sonné quand il a reçu un caractère BEL. Parce que le dessus de touche pour la touche O a également montré un symbole flèche gauche (de l' ASCII-1963, qui avait ce caractère au lieu de underscore ), une utilisation non conforme du Code 15 (Control-O, Shift In) interprété comme « supprimer le caractère précédent » a également été adopté par de nombreux systèmes de temps partagé au début , mais a fini par devenir négligé.

Quand un télétype ASR 33 équipé du lecteur de bande de papier automatique a reçu une Control-S (XOFF, une abréviation pour la transmission off), il a causé le lecteur de bande pour arrêter; recevoir Control-Q (XON, « transmettre sur ») a provoqué le lecteur de bande pour reprendre. Cette technique est devenue adoptée par plusieurs systèmes d'exploitation informatique au début comme un signal « handshaking » avertissement d' un expéditeur pour arrêter la transmission à cause de dépassement imminent; il persiste à ce jour dans de nombreux systèmes comme une technique de commande de sortie manuelle. Sur certains systèmes de contrôle-S conserve sa signification , mais le contrôle-Q est remplacé par un second contrôle-S pour reprendre la production. Le 33 ASR pourrait également être configuré de manière à utiliser pour démarrer et arrêter le poinçon de bande de contrôle-R (DC2) et de contrôle-T (DC4); sur certaines unités équipées de cette fonction, le lettrage de caractères de commande correspondant au keycap dessus de la lettre était TAPE et TAPE respectivement.

Le téléscripteur ne pouvait pas bouger la tête en arrière, il n'a pas mis une touche du clavier pour envoyer un BS (backspace). Au lieu de cela il y avait une clé marquée "rubout" qui a envoyé le code 127 (DEL). Le but de cette clé était d'effacer des erreurs dans une bande de papier tapé à la main: l'opérateur a dû pousser un bouton sur le poinçon de bande pour le sauvegarder, puis tapez le rubout, qui a frappé tous les trous et remplacé l'erreur avec un caractère était destiné à être ignoré. Téléscripteurs étaient couramment utilisés pour les ordinateurs moins chers de Digital Equipment Corporation , de sorte que ces systèmes ont dû utiliser la clé disponible et donc le code DEL pour effacer le caractère précédent. De ce fait , DEC terminaux vidéo (par défaut) a envoyé le code DEL pour la touche marquée « Backspace » , tandis que la touche marquée « Supprimer » envoyé une séquence d'échappement, tandis que de nombreux autres terminaux envoyés BS pour la touche Retour arrière. Le pilote terminal Unix ne peut utiliser qu'un seul code pour sauvegarder, cela pourrait être réglé sur BS ou DEL, mais pas les deux, entraînant une très longue période d'ennui où il fallait corriger en fonction de ce terminal que vous utilisiez (coquilles modernes en utilisant readline comprendre les codes). L'hypothèse selon laquelle aucune clé a envoyé un BS + H a provoqué le contrôle à utiliser à d' autres fins, par exemple une commande « help » dans Emacs.

Beaucoup plus des codes de contrôle ont pu donner un sens tout à fait différent de leurs originaux. Le caractère « d'évasion » (ESC, le code 27), par exemple, a été initialement prévu pour permettre l' envoi d' autres caractères de contrôle comme littéraux au lieu d'invoquer leur signification. C'est le même sens de « fuite » rencontré dans encodages URL, langage C chaînes, et d' autres systèmes où certains personnages ont un sens réservé. Au fil du temps ce sens a été coopté et a finalement été changé. Dans l' usage moderne, un CES envoyé au terminal indique généralement le début d'une séquence de commande généralement sous la forme d'un soi-disant « code d'échappement ANSI » (ou, plus exactement, une « séquence de contrôle introducteur ») de ECMA-48 ( 1972) et de ses successeurs, en commençant par l' ESC suivi d'un caractère « [ » (-crochet gauche). Un CES envoyé à partir du terminal est le plus souvent utilisé comme hors bande caractère utilisé pour mettre fin à une opération, comme dans le TECO et vi éditeurs de texte . Dans l' interface utilisateur graphique (GUI) et fenêtrage systèmes, ESC provoque généralement une application pour interrompre son fonctionnement en cours ou à la sortie (fin) au total.

L'ambiguïté inhérente à de nombreux caractères de contrôle, combinée à leur utilisation historique, a créé des problèmes lors du transfert de fichiers « texte brut » entre les systèmes. Le meilleur exemple de cela est le saut de ligne problème sur différents systèmes d'exploitation . Téléscripteurs nécessaire qu'une ligne de texte soit mis fin à la fois « retour chariot » (qui déplace la tête d' impression au début de la ligne) et « Saut de ligne » (qui fait avancer le papier d' une ligne sans déplacer la tête d' impression). Le nom « retour chariot » vient du fait que , sur un manuel machine à écrire le chariot tenant le papier déplacé alors que la position où les typebars ont frappé le ruban est resté stationnaire. Le chariot entier devait être poussé (retourné) vers la droite afin de positionner le bord gauche du papier pour la ligne suivante.

Décembre systèmes d'exploitation ( OS / 8 , RT-11 , RSX-11 , RSTS , TOPS-10 , etc.) utilisés deux caractères pour marquer la fin d'une ligne de telle sorte que le dispositif de console ( à l' origine des machines télétype ) fonctionnerait. Au moment où que l' on appelle « verre TTY » (plus tard appelés terminaux) ou les tubes cathodiques sont arrivés, la convention était si bien établi que la rétrocompatibilité a nécessité la poursuite de la convention. Lorsque Gary Kildall créé CP / M a été inspiré par certaines conventions d'interface de ligne de commande utilisés dans décembre de RT-11 . Jusqu'à l'introduction de PC DOS en 1981, IBM avait pas la main dans ce parce que leurs années 1970 les systèmes d' exploitation utilisés EBCDIC au lieu de ASCII et ils ont été orientés vers l' entrée à cartes perforées et de sortie de l' imprimante ligne sur laquelle le concept de retour chariot n'a pas de sens. IBM PC DOS (également commercialisé sous MS-DOS par Microsoft) a hérité de la convention en vertu d'être vaguement basé sur le CP / M , et de Windows hérité de MS-DOS.

Malheureusement, ce qui nécessite deux caractères pour marquer la fin d'une ligne complexité inutile et introduit des questions quant à la façon d'interpréter chaque caractère quand rencontré seul. Pour simplifier les choses texte clair flux de données, y compris les fichiers, sur Multics utilisés saut de ligne (LF) seul comme une terminaison de ligne. Unix et Unix systèmes et Amiga systèmes, ont adopté cette convention de Multics. L'original OS Macintosh , Apple DOS , et ProDOS , d'autre part, le retour chariot (CR) utilisé seul en tant que terminateur de ligne; cependant, puisque Apple a remplacé ces systèmes d' exploitation avec les sous Unix macOS système d' exploitation, ils utilisent maintenant un saut de ligne (LF) ainsi. La Radio Shack TRS-80 ont également utilisé une seule CR de mettre fin à des lignes.

Ordinateurs connectés à l' ARPANET inclus machines exécutant des systèmes d'exploitation tels que TOPS-10 et TENEX utilisant les fins de ligne CR-LF, les machines exécutant des systèmes d'exploitation tels que Multics utilisant les fins de ligne LF, et les machines exécutant des systèmes d'exploitation tels que OS / 360 qui représente des lignes que un nombre de caractères suivi par les caractères de la ligne et celle utilisée EBCDIC plutôt que ASCII. Le Telnet protocole défini ASCII « Network Virtual Terminal » (NVT), de sorte que les connexions entre les hôtes avec différentes conventions de fin de ligne et des jeux de caractères peuvent être pris en charge par la transmission d' un format de texte standard sur le réseau. Telnet utilisé ASCII avec des fins de ligne CR-LF, et le logiciel en utilisant d' autres conventions se traduirait entre les conventions locales et le NVT. Le protocole de transfert de fichiers a adopté le protocole Telnet, y compris l' utilisation du terminal virtuel de réseau, pour une utilisation lors de la transmission des commandes et le transfert de données en mode ASCII par défaut. Cela ajoute à la complexité des implémentations de ces protocoles, et à d' autres protocoles réseau, tels que ceux utilisés pour le courrier électronique et le World Wide Web, sur les systèmes qui n'utilisent pas la convention de fin de ligne CR-LF NVT.

Le PDP-6 moniteur, et son PDP-10 successeur TOPS-10, utilisé Control-Z (SUB) comme une indication de fin de fichier pour l' entrée à partir d' un terminal. Certains systèmes d'exploitation , tels que la longueur du fichier CP / M suivis uniquement en unités de blocs de disque et utilisées Control-Z pour marquer la fin du texte réel dans le fichier. Pour ces raisons, EOF, ou en fin de fichier , a été utilisé familièrement et conventionnellement comme acronyme de trois lettres pour le contrôle-Z au lieu de substituons. Le code de fin de texte ( ETX ), également connu sous le nom de contrôle-C , était inappropriée pour une variété de raisons, tout en utilisant Z comme le code de commande pour mettre fin à un fichier est analogue à ce la fin de l'alphabet et sert très pratique mnémotechnique . Une convention historique commune et encore répandue utilise la convention de code ETX pour interrompre et arrêter un programme via un flux de données d'entrée, généralement à partir d' un clavier.

Dans la bibliothèque C et Unix conventions, le caractère nul est utilisé pour terminer texte des chaînes ; ces chaînes à zéro terminal peuvent être connus dans l' abréviation comme ASCIZ ou ASCIIZ, où ici Z signifie « zéro ».

Binaire oct déc hex Abréviation Nom (1967)
1963 1965 1967
000 0000 000 0 00 NUL NUL ^@ \0 Nul
000 0001 001 1 01 SOM SOH ^A Début de la rubrique
000 0010 002 2 02 EOA STX ^B Début du texte
000 0011 003 3 03 EOM ETX ^C Fin du texte
000 0100 004 4 04 EOT ^D Fin de la transmission
000 0101 005 5 05 WRU ENQ ^E Enquête
000 0110 006 6 06 RU ACK ^F Reconnaissance
000 0111 007 7 07 CLOCHE BEL ^G \a Cloche
000 1000 010 8 08 FE0 BS ^H \b Backspace
000 1001 011 9 09 HT / SK HT ^I \t onglet horizontale
000 1010 012 dix 0A LF ^J \n Saut de ligne
000 1011 013 11 0B VTAB Vermont ^K \v vertical Tab
000 1100 014 12 0C FF ^L \f Alim
000 1101 015 13 0D CR ^M \r Retour chariot
000 1110 016 14 0E ALORS ^N Maj Out
000 1111 017 15 0F SI ^O Changement dans
001 0000 020 16 dix DC0 DLE ^P Data Link Évasion
001 0001 021 17 11 DC1 ^Q Device Control 1 (souvent XON )
001 0010 022 18 12 DC2 ^R Device Control 2
001 0011 023 19 13 DC3 ^S Device Control 3 (souvent XOFF )
001 0100 024 20 14 DC4 ^T Device Control 4
001 0101 025 21 15 SE TROMPER NAK ^U Acquittement négatif
001 0110 026 22 16 SYNC SYN ^V Idle synchrone
001 0111 027 23 17 LEM ETB ^W Fin de la transmission Bloc
001 1000 030 24 18 S0 POUVEZ ^X Annuler
001 1001 031 25 19 S1 EM ^Y Fin de moyen
001 1010 032 26 1A S2 SS SOUS ^Z Remplacer
001 1011 033 27 1B S3 ESC ^[ \e Échapper
001 1100 034 28 1C S4 FS ^\ séparateur de fichier
001 1101 035 29 1D S5 GS ^] séparateur de groupe
001 1110 036 30 1E S6 RS ^^ enregistrement séparateur
001 1111 037 31 1F S7 NOUS ^_ unité de séparation
111 1111 177 127 7F DEL ^? Effacer

D' autres représentations pourraient être utilisées par des équipements spécialisés, par exemple ISO 2047 graphiques ou hexadécimal numéros.

caractères imprimables

Codes 20 hexagonaux à 7E hexagonale , connu sous le nom des caractères imprimables, représentent des lettres, des chiffres, des signes de ponctuation et quelques symboles divers. Il y a 95 caractères imprimables au total.

Code 20 hex , le caractère « espace » , désigne l'espace entre les mots, tel que produit par la barre d'espace d'un clavier. Étant donné que le caractère de l' espace est considéré comme un graphique invisible (plutôt que d' un caractère de contrôle) , il est indiqué dans le tableau ci - dessous au lieu de la section précédente.

Code 7F hex correspond au caractère de contrôle non imprimable « supprimer » (DEL) et est donc omis dans ce tableau; il est couvert dans le tableau de la section précédente. Les versions antérieures de ASCII utilisé la flèche vers le haut au lieu du caret (5E hex ) et la flèche gauche au lieu du trait de soulignement (5F hex ).

Binaire oct déc hex glyphe
1963 1965 1967
010 0000 040 32 20  espace
010 0001 041 33 21 !
010 0010 042 34 22 "
010 0011 043 35 23 #
010 0100 044 36 24 $
010 0101 045 37 25 %
010 0110 046 38 26 &
010 0111 047 39 27 '
010 1000 050 40 28 (
010 1001 051 41 29 )
010 1010 052 42 2A *
010 1011 053 43 2B +
010 1100 054 44 2C ,
010 1101 055 45 2D -
010 1110 056 46 2E .
010 1111 057 47 2F /
011 0000 060 48 30 0
011 0001 061 49 31 1
011 0010 062 50 32 2
011 0011 063 51 33 3
011 0100 064 52 34 4
011 0101 065 53 35 5
011 0110 066 54 36 6
011 0111 067 55 37 7
011 1000 070 56 38 8
011 1001 071 57 39 9
011 1010 072 58 3A :
011 1011 073 59 3B ;
011 1100 074 60 3C <
011 1101 075 61 3D =
011 1110 076 62 3E >
011 1111 077 63 3F ?
100 0000 100 64 40 @ ` @
100 0001 101 65 41 UNE
100 0010 102 66 42 B
100 0011 103 67 43 C
100 0100 104 68 44
100 0101 105 69 45 E
100 0110 106 70 46 F
100 0111 107 71 47 g
100 1000 110 72 48 H
100 1001 111 73 49 je
100 1010 112 74 4A J
100 1011 113 75 4B K
100 1100 114 76 4C L
100 1101 115 77 4D M
100 1110 116 78 4E N
100 1111 117 79 4F O
101 0000 120 80 50 P
101 0001 121 81 51 Q
101 0010 122 82 52 R
101 0011 123 83 53 S
101 0100 124 84 54 T
101 0101 125 85 55 U
101 0110 126 86 56 V
101 0111 127 87 57 W
101 1000 130 88 58 X
101 1001 131 89 59 Y
101 1010 132 90 5A Z
101 1011 133 91 5B [
101 1100 134 92 5C \ ~ \
101 1101 135 93 5D ]
101 1110 136 94 5E ^
101 1111 137 95 5F _
110 0000 140 96 60 @ `
110 0001 141 97 61 une
110 0010 142 98 62 b
110 0011 143 99 63 c
110 0100 144 100 64
110 0101 145 101 65 e
110 0110 146 102 66 F
110 0111 147 103 67 g
110 1000 150 104 68 h
110 1001 151 105 69 je
110 1010 152 106 6A j
110 1011 153 107 6B k
110 1100 154 108 6C l
110 1101 155 109 6D m
110 1110 156 110 6E n
110 1111 157 111 6F o
111 0000 160 112 70 p
111 0001 161 113 71 q
111 0010 162 114 72 r
111 0011 163 115 73 s
111 0100 164 116 74 t
111 0101 165 117 75 u
111 0110 166 118 76 v
111 0111 167 119 77 w
111 1000 170 120 78 X
111 1001 171 121 79 y
111 1010 172 122 7A z
111 1011 173 123 7B {
111 1100 174 124 7C ACK ¬ |
111 1101 175 125 7D }
111 1110 176 126 7E ESC | ~

Jeu de caractères

ASCII (1977/1986)
_0 _1 _2 _3 _4 _5 _6 _7 _8 _9 _UNE _B _C _RÉ _E _F
0_
0
NUL
0000
SOH
0001
STX
0002
ETX
0003
EOT
0004
ENQ
0005
ACK
0006
BEL
0007
BS
0008
HT
0009
LF
000A
VT
000B
FF
000C
CR
000D
SO
000E
SI
000F
1_
16
DLE
0010
DC1
0011
DC2
0012
DC3
0013
DC4
0014
NAK
0015
SYN
0016
ETB
0017
CAN
0018
EM
0019
SUB
001A
ESC
001B
FS
001C
GS
001D
RS
001E
US
001F
2_
32
SP
0020
!
0021
"
0022
#
0023
$
0024
%
0025
&
0026
'
0027
(
0028
)
0029
*
002A
+
002B
,
002C
-
002D
.
002E
/
002F
3_
48
0
0030
1
0031
2
0032
3
0033
4
0034
5
0035
6
0036
7
0037
8
0038
9
0039
:
003A
;
003B
<
003C
=
003D
>
003E
?
003F
4_
64
@
0040
A
0041
B
0042
C
0043
D
0044
E
0045
F
0046
G
0047
H
0048
Je
0049
J
004A
K
004B
L
004C
M
004D
N
004E
O
004F
5_
80
P
0050
Q
0051
R
0052
S
0053
T
0054
U
0055
V
0056
W
0057
X
0058
Y
0059
Z
005A
[
005B
\
005C
]
005D
^
005E
_
005F
6_
96
`
0060
un
0061
b
0062
c
0063
d
0064
e
0065
f
0066
g
0067
h
0068
i
0069
j
006A
k
006B
l
006C
m
006D
n
006E
o
006F
7_
112
p
0070
q
0071
r
0072
s
0073
t
0074
u
0075
v
0076
w
0077
x
0078
y
0079
z
007A
{
007B
|
007C
}
007D
~
007E
DEL
007F

  Lettre    Numéro    Ponctuation    Symbole  Autre  undefined  modifiés depuis la version 1963      

Utilisation

ASCII a été utilisé dans le commerce en 1963 en tant que code de téléimprimeur sept bits pour American Telephone & Telegraph réseau TWX de (téléimprimeur eXchange). TWX utilisé à l' origine le plus tôt cinq bits ITA2 , qui a également été utilisé par la concurrence Télex système de téléimprimeur. Bob Bemer introduit des fonctionnalités telles que la séquence d'échappement . Son collègue britannique Hugh McGregor Ross a contribué à populariser ce travail - selon Bemer, « si bien que le code qui allait devenir ASCII a été appelé le code Bemer-Ross en Europe ». En raison de son important travail sur ASCII, Bemer a été appelé « le père de l' ASCII ».

Le 11 Mars 1968, le président américain Lyndon B. Johnson a exigé que tous les ordinateurs achetés par le soutien du gouvernement fédéral des États-Unis ASCII, indiquant:

J'ai également approuvé les recommandations du Secrétaire du Commerce concernant les normes pour l' enregistrement du code standard pour l' échange d' information sur les bandes magnétiques et des bandes de papier quand ils sont utilisés dans les opérations informatiques. Tous les ordinateurs et les configurations d'équipements connexes apportés au gouvernement fédéral des stocks à partir du 1er Juillet 1969, doivent avoir la capacité d'utiliser le code standard pour l' échange d' information et les formats prescrits par la bande magnétique et des normes de bande papier lorsque ces supports sont utilisés.

ASCII est le caractère le plus commun sur le codage du World Wide Web jusqu'en Décembre 2007, lorsque UTF-8 le codage a surpassé; UTF-8 est compatible avec ASCII.

Variantes et dérivations

Comme la technologie informatique répartie dans le monde entier, les différents organismes de normalisation et les sociétés développées de nombreuses variantes de ASCII pour faciliter l'expression des langues non anglaises qui ont utilisé alphabets romain. Une classe pourrait certaines de ces variations comme « extensions ASCII », bien que certains mauvais usage de ce terme pour représenter toutes les variantes, y compris ceux qui ne conservent pas de caractère ASCII-carte dans la gamme 7 bits. De plus, les extensions ASCII ont également été mal étiquetés comme ASCII.

codes à 7 bits

Depuis le début de son développement, ASCII devait être juste un de plusieurs variantes nationales d'une norme de code de caractère international.

D' autres organismes de normalisation internationaux ont ratifié codages de caractères tels que ISO 646 (1967) qui sont identiques ou presque identiques à ASCII, avec des extensions pour les caractères en dehors de l'anglais alphabet et symboles utilisés en dehors des États-Unis, comme le symbole du Royaume-Uni de la livre sterling (£). Presque tous les pays avait besoin d' une version adaptée de l' ASCII, car ASCII adapté aux besoins de seulement aux États - Unis et quelques autres pays. Par exemple, le Canada a sa propre version des caractères pris en français.

De nombreux autres pays développés variantes de ASCII à inclure des lettres non anglaises (par exemple é , ñ , ß , Ł ), les symboles monétaires (par exemple £ , ¥ ), etc. Voir aussi YUSCII (Yougoslavie).

Il partage la plupart des caractères en commun, mais assigner d' autres caractères localement utiles à plusieurs points de code réservés pour « usage national ». Cependant, les quatre années qui se sont écoulés entre la publication de-1963 ASCII et première acceptation ISO d'une recommandation internationale en 1967 ont provoqué des choix de ASCII pour les caractères d'utilisation nationaux semblent être des normes de fait pour le monde, ce qui provoque la confusion et l' incompatibilité une fois d' autres pays ne commencent à faire leurs propres missions à ces points de code.

646 ISO / CEI, comme l'ASCII, est un jeu de caractères 7 bits. Il ne fait pas de codes supplémentaires disponibles, les mêmes points de code différents caractères codés dans différents pays. code d'échappement ont été définis pour indiquer la variante nationale appliquée à un morceau de texte, mais ils ont rarement été utilisés, il était souvent impossible de savoir quelle variante de travailler avec et, par conséquent, quel caractère un code représenté, et en général, texte- systèmes de traitement pourraient faire face à une seule variante de toute façon.

Parce que les personnages de support et contreventement de ASCII ont été attribués à des points de code « usage national » qui ont été utilisés pour les lettres accentuées dans d'autres variantes nationales de l'ISO / CEI 646, un Allemand, Français, ou suédois, etc. programmeur en utilisant leur variante nationale de l'ISO / CEI 646, plutôt que ASCII, a dû écrire et lire ainsi, quelque chose comme

ä aÄiÜ = 'Ön'; ü

au lieu de

{ a[i] = '\n'; }

Trigraphes ont été créés pour résoudre ce problème pour la norme ANSI C , bien que leur introduction tardive et mise en œuvre incohérente dans les compilateurs ont limité leur utilisation. De nombreux programmeurs ont gardé leurs ordinateurs sur US-ASCII, donc texte brut en suédois, etc. allemand (par exemple, par courrier électronique ou Usenet ) contenu « {,} » et des variantes similaires dans le milieu des mots, quelque chose les programmeurs ont habitué. Par exemple, un programmeur suédois envoi un autre programmeur demandant s'ils devraient aller pour le déjeuner, pourrait obtenir « N {jag har sm | rg} sar » comme la réponse, qui devrait être « Nä jag har smörgåsar » qui signifie « Non , j'ai sandwiches ».

codes à 8 bits

Finalement, comme 8, 16 et 32 bits (et plus tard 64 bits ) ordinateurs ont commencé à remplacer 12- , 18- et 36 bits des ordinateurs comme la norme, il est devenu courant d'utiliser un octet de 8 bits pour stocker chaque caractère en mémoire, fournissant une occasion pour élargie, des parents 8 bits de ASCII. Dans la plupart des cas , ces développés comme de véritables extensions de ASCII, laissant le mappage des caractères intacte, mais en ajoutant des définitions de caractères supplémentaires d' origine après les 128 premiers (soit 7 bits) caractères.

Encodages comprennent ISCII (Inde), VISCII (Vietnam). Bien que ces codages sont parfois appelés ASCII, vrai ASCII est défini strictement que par la norme ANSI.

La plupart des systèmes informatiques de la maison tôt ont développé leurs propres jeux de caractères 8 bits contenant Glyphes ligne-dessin et jeu, et souvent remplis certains ou tous les caractères de contrôle de 0 à 31 avec plus de graphiques. Kaypro CP / M ordinateurs ont utilisé les « supérieurs » 128 caractères pour l'alphabet grec.

Le PETSCII Code Commodore International utilisé pour leurs 8 bits systèmes est probablement unique parmi les codes post-1970 en étant basé sur ASCII 1963, au lieu de l'ASCII 1967 plus commun, par exemple que l'on trouve sur le ZX Spectrum ordinateur. Atari ordinateurs 8 bits et Galaksija ordinateurs utilisés également des variantes ASCII.

Le PC IBM défini page de code 437 , qui a remplacé les caractères de contrôle avec des symboles graphiques tels que des smileys , et mis en correspondance des caractères graphiques supplémentaires aux 128 positions supérieures. Les systèmes d' exploitation tels que DOS pris en charge ces pages de code, et les fabricants de PC IBM les pris en charge dans le matériel. Digital Equipment Corporation a développé la multinationale Jeu de caractères (DEC-MCS) pour une utilisation dans le populaire VT220 terminaux comme l' une des premières extensions conçues plus pour les langues internationales que pour les graphiques de bloc. Le Macintosh défini Mac OS romain et Postscript a également défini un ensemble, ces deux lettres contenaient à la fois internationales et des signes de ponctuation au lieu de graphiques typographiques, plus comme des jeux de caractères modernes.

La norme ISO / IEC 8859 standard (dérivé du DEC-MCS) a finalement fourni une norme que la plupart des systèmes copiés (au moins aussi précisément que ils ont copié ASCII, mais avec de nombreuses substitutions). Une nouvelle extension populaire conçue par Microsoft, Windows 1252 (souvent mal étiquetés comme ISO-8859-1 ), a ajouté les signes de ponctuation typographiques nécessaires à l' impression de texte traditionnel. ISO-8859-1, Windows 1252 et le 7-bit ASCII d' origine étaient les codages de caractères les plus courants jusqu'en 2008 quand UTF-8 est devenu plus fréquent.

ISO / IEC 4873 introduit 32 codes de commande supplémentaires définies dans la 80-9F hexadécimal gamme, dans le cadre de l' extension du codage ASCII 7 bits pour devenir un système à 8 bits.

Unicode

Unicode et la norme ISO / IEC 10646 Jeu de caractères universel (UCS) ont un éventail beaucoup plus large de caractères et leurs différentes formes de codage ont commencé à remplacer la norme ISO / CEI 8859 et ASCII rapidement dans de nombreux environnements. Bien que ASCII est limité à 128 caractères, Unicode et le SCU prennent en charge plusieurs caractères en séparant les concepts d'identification unique ( en utilisant des nombres naturels appelés points de code ) et le codage (à 8, 16 ou formats binaires 32 bits, appelé UTF-8 , UTF-16 et UTF-32 ).

ASCII a été incorporé dans le caractère Unicode (1991) défini comme les 128 premiers symboles, de sorte que les caractères ASCII 7 bits ont les mêmes codes numériques dans les deux ensembles. Ceci permet UTF-8 pour être compatible avec ASCII 7 bits, sous forme de fichier UTF-8 contenant uniquement des caractères ASCII est identique à un fichier ASCII contenant la même séquence de caractères. Plus important encore, la compatibilité ascendante est assurée en tant que logiciel qui reconnaît uniquement des caractères ASCII 7 bits comme spécial et ne modifie pas les octets avec le bit le plus élevé (comme cela se fait souvent en charge les extensions ASCII 8 bits tels que ISO-8859-1) conservera inchangé données UTF-8.

Voir également

Remarques

Références

Pour en savoir plus

Liens externes