Vérifié contenu

ASCII

Contexte des écoles Wikipédia

Arrangeant une sélection Wikipedia pour les écoles dans le monde en développement sans internet était une initiative de SOS Enfants. SOS Children travaille dans 45 pays africains; pouvez-vous aider un enfant en Afrique ?

Un tableau de l'ASCII d'un manuel de l'imprimante 1972

Le code standard américain pour l'échange d'information (ASCII, prononciation: / æ s k Je / ASS -kee;) est une système de codage de caractères à l'origine basé sur la Alphabet anglais. codes ASCII représentent texte dans les ordinateurs , les communications équipement, et d'autres dispositifs qui utilisent texte. La plupart des systèmes de codage de caractères modernes sont basés sur ASCII, bien qu'ils soutiennent de nombreux caractères supplémentaires.

ASCII développé à partir de codes télégraphiques. Sa première utilisation commerciale était aussi un cycle de sept bit code de téléimprimeur 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 la (ASA) le sous-comité de X3.2 American Standards Association. La première édition de la norme a été publiée en 1963, une révision majeure en 1967, et la mise à jour la plus récente en 1986. Par rapport aux codes télégraphiques antérieures, le code de Bell proposé et ASCII ont tous deux été ordonné pour le tri plus pratique (ce est à dire, l'alphabétisation) de des listes et des fonctionnalités supplémentaires pour des appareils autres que les téléscripteurs.

ASCII comprend des définitions pour 128 caractères: 33 sont non-impression caractères de contrôle (nombre désormais obsolète) qui affectent comment le texte et l'espace sont traitées et 95 caractères imprimables, y compris le espace (qui est considéré comme un graphique invisible).

Le IANA préfère le nom US-ASCII pour éviter toute ambiguïté. ASCII était encodage la plus couramment utilisée de caractères sur le World Wide Web jusqu'en Décembre 2007, quand il a été dépassé par UTF-8.

Histoire

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

L'ASCII conçu du sous-comité de X3.2 selon la plus rapprochée systèmes de codage de téléimprimeur. Comme les autres codages de caractères, ASCII spécifie une correspondance entre les modèles et de bits numériques symboles de caractères (c.-à- graphèmes et des caractères de contrôle). Ceci permet appareils numériques de communiquer les uns avec les autres et pour traiter, stocker et communiquer des informations orientées caractère tels que la langue écrite. Avant ASCII a été développé, les codages utilisés inclus 26 caractères alphabétiques, 10 caractères numériques , et de 11 à 25 symboles graphiques spéciaux. Pour inclure tous ces personnages, et de contrôle compatibles avec le Comité Consultatif International Télégraphique et Téléphonique (CCITT) Alphabet télégraphique international n ° 2 (ITA2) standard, Fieldata, et au début EBCDIC, plus de 64 codes ont été nécessaire pour ASCII.

Le comité a discuté de la possibilité d'une décaler touche de fonction (comme le Code Baudot), ce qui permettrait plus de 64 codes d'être représentés par six bits. Dans un code décalé, certains codes de caractères déterminent choix entre les options pour les codes de caractères suivants. Il permet l'encodage compact, mais est moins fiable pour transmission de données; une erreur dans la transmission du code de changement de vitesse fait en général une longue partie de la transmission illisible. Le comité des normes a décidé contre déplacement, et ainsi ASCII requis au moins un code à sept bits.

Le comité examine un code à huit bits, depuis huit bits ( octets) permettraient deux modèles à quatre bits pour coder efficacement deux chiffres avec décimal codé binaire. Cependant, il faudrait toutes les transmissions de données à envoyer huit bits lorsque sept pourrait suffire. Le comité a voté à utiliser un code à sept bits pour minimiser les coûts associés à la transmission de données. Depuis ruban perforé au moment pourrait enregistrer huit bits dans une position, il a également permis une bit de parité pour Vérification des erreurs, si désiré. Machines à huit bits (avec octets que le type de données natif) qui ne utilisaient pas contrôle de parité généralement mis le huitième bit à 0.

Le code lui-même a été configurée de manière que la plupart des codes de contrôle étaient ensemble, et tous les codes graphiques étaient ensemble, pour faciliter l'identification. Les deux premières colonnes (32 postes) ont été réservés pour les caractères de contrôle.} Le Caractère "espace" devait venir avant graphiques pour faire 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 haut de casse Alphabets 64 caractères, et a choisi le modèle ASCII de sorte qu'il pourrait être réduit facilement à un ensemble de 64 caractères utilisable de codes graphiques. Les lettres minuscules ne ont donc pas entrelacées avec majuscules. Pour garder des options disponibles pour les lettres minuscules et autres graphiques, les codes spéciaux et numériques ont été organisées avant les lettres, et de la lettre «A» a été placé en position 41 hex pour correspondre à la version de la norme britannique correspondante. Les chiffres 0-9 ont été organisées afin qu'ils correspondent à des valeurs en binaire avec le préfixe 011, ce qui rend la conversion avec codé en binaire simple virgule.

La plupart des caractères non alphanumériques ont été positionnés pour correspondre à leur position décalée sur des machines à écrire. Ainsi, #, $% et ont été placées pour correspondre à 3, 4, et 5 dans la colonne adjacente. Les parenthèses pourraient ne pas correspondre à 9 et 0, cependant, parce que l'endroit correspondant à 0 a été prise par le caractère espace. Depuis de nombreuses machines à écrire européens placés les parenthèses avec 8 et 9, ces positions correspondant ont été choisis pour les parenthèses. Le symbole @ n'a pas été utilisé en Europe continentale et le comité devrait il serait remplacé par un A accentué dans la variation française, de sorte que le @ a été placée en position 40 hex côté de la lettre A.

Les codes de contrôle ont estimé essentiel pour la transmission de données étaient le début de message (SOM), fin de l'adresse (EOA), fin de message (EOM), fin de transmission (EOT), "qui êtes-vous?" (WRU), "êtes-vous?" (RU), un contrôle de l'appareil réservée (DC0), ralenti synchrone (SYNC), et reconnaître (ACK). Ceux-ci ont été placés pour maximiser la Hamming distance entre leurs habitudes de bits.

Avec l'autre des 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 aucun sens, réservés pour la normalisation future, et un code de contrôle non affecté. Il y avait un débat au moment savoir se il faut plus de caractères de contrôle plutôt que l'alphabet minuscule. L'indécision ne dura pas longtemps: en mai 1963, le Groupe de travail CCITT sur le New Alphabet télégraphique proposé d'affecter minuscules personnages aux colonnes 6 et 7, et Organisation internationale de normalisation TC 97 SC 2 voté en Octobre à intégrer le changement dans son projet de norme. Le groupe de travail de X3.2.4 voté son approbation pour que le changement ASCII lors de sa réunion mai 1963. Emplacement des lettres minuscules dans les colonnes 6 et 7 causé les personnages diffèrent en configuration binaire de la majuscule par un seul bit, qui a simplifié caractère correspondance insensible à la casse et la construction de claviers et imprimantes.

Le comité de X3 a fait d'autres changements, y compris d'autres nouveaux personnages (la accolade et les personnages de ligne verticale), en renommant certains caractères de contrôle (SOM devenus début de tête (SOH)) et déplacer ou enlever d'autres (RU a été retiré). ASCII a ensuite été mis à jour comme USASI X3.4-1967, puis USASI X3.4-1968, ANSI X3.4-1977, et enfin, ANSI X3.4-1986 (les deux premiers sont parfois retronamed ANSI X3.4-1967, et X3.4-1968 ANSI).

Le comité de X3 a également abordé la façon ASCII doit être transmise ( bit le moins significatif en premier), et comment il devrait être enregistré sur bande perforée. Ils ont proposé un Norme 9-piste pour bande magnétique, et a tenté de faire face à certaines formes de formats de cartes perforées.

ASCII lui-même était d'abord utilisé dans le commerce en 1963 en tant que code de téléimprimeur sept bits pour American Telephone & TWX (téléscripteur eXchange) le réseau de Telegraph. TWX utilisé à l'origine les cinq bits code précédent Baudot, 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 fut d'abord appelé le Code Bemer-Ross en Europe". En raison de son important travail sur l'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 les Etats-Unis l'appui du gouvernement fédéral, ASCII indiquant:

Je ai également approuvé les recommandations du Secrétaire du Commerce concernant les normes pour l'enregistrement de la Standard Code for Information Interchange sur des bandes magnétiques et des bandes de papier quand ils sont utilisés dans les opérations informatiques. Tous les ordinateurs et configurations d'équipement connexes intentées dans l'inventaire du gouvernement fédéral à compter du 1er Juillet 1969, doivent avoir la capacité d'utiliser le Standard Code for Information Interchange et les formats prescrits par les normes du ruban et du papier à bande magnétique lorsque ces médias sont utilisés.

Autres organismes de normalisation internationaux ont ratifié codages de caractères tels que ISO / CEI 646 qui sont identiques ou presque identiques à ASCII, avec des extensions pour les personnages en dehors de l'alphabet anglais et les symboles utilisés en dehors des États-Unis, comme le symbole pour le Royaume-Uni livres sterling la (£). Presque chaque pays a besoin d'une version adaptée de ASCII, depuis ASCII adapté aux besoins de seulement aux Etats-Unis et quelques autres pays. Par exemple, le Canada a sa propre version qui a soutenu les caractères français. Autres codages adaptés comprennent ISCII (Inde), VISCII (Vietnam), et YUSCII (Yougoslavie). Bien que ces encodages sont parfois appelés ASCII, vrai ASCII est défini strictement que par la norme ANSI.

ASCII a été incorporé dans le caractère Unicode que les 128 premiers symboles, de sorte que les caractères ASCII avoir les mêmes codes numériques dans les deux ensembles. Ceci permet UTF-8 pour être rétrocompatible avec ASCII, un avantage significatif.

des caractères de contrôle ASCII

réserves ASCII les 32 premiers codes (nombres décimaux) pour 0-31 caractères de contrôle: codes à l'origine destinés à ne pas représenter informations imprimables, mais plutôt de contrôler des périphériques (tels que imprimantes) qui utilisent ASCII, ou de fournir méta-informations sur les flux de données telles que celles stockées sur bande magnétique. Par exemple, le caractère 10 représente la fonction "saut de ligne" (qui provoque une imprimante pour faire avancer son papier), et le caractère 8 représente "backspace". RFC 2822 se réfère à contrôler caractères qui ne comprennent pas de retour chariot, saut de ligne ou espace blanc comme caractères de contrôle non-blancs. Sauf pour les caractères de contrôle qui prescrivent formatage orienté ligne élémentaire, ASCII ne définit pas de mécanisme pour décrire la structure ou l'apparence du texte dans un document. Autres régimes, tels que les langages de balisage , d'adresse de page et la présentation du document et le formatage.

La norme ASCII originale utilisée que de courtes phrases descriptives pour chaque caractère de contrôle. L'ambiguïté cela a causé était parfois intentionnelle (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 (comme ce "supprimer" signifie).

Probablement le seul appareil le plus influent sur l'interprétation de ces personnages était le Teletype Modèle 33 ASR, qui était un terminal d'impression avec un disponible ruban de papier de l'option lecteur / punch. bande de papier était un milieu très populaire pour le stockage de programme à long terme jusqu'à ce que les années 1980, moins coûteuses et à certains égards moins fragile que la bande magnétique. En particulier, les Teletype Modèle 33 machines affectations pour les codes 17 (Control-Q, DC1, aussi connu comme XON), 19 (contrôle-S, DC3, aussi connu comme XOFF), et 127 ( Supprimer) est devenu normes de facto. Parce que le dessus de touche pour la touche O a également montré un symbole flèche gauche (de ASCII-1963, qui avait ce caractère au lieu de soulignent), à une utilisation non conforme d'un code 15 (Ctrl-O, changement dans) interprété comme "supprimer le caractère précédent" a également été adopté par de nombreux systèmes en temps partagé au début mais finalement est devenu négligé.

L'utilisation du contrôle-S (XOFF, une abréviation pour la transmission hors) comme un signal "de prise de contact" avertir un expéditeur à arrêter la transmission en raison de l'imminence de débordement, et Control-Q (XON, "transmettre sur") pour reprendre l'envoi, persiste à ce jour dans de nombreux systèmes comme une technique manuelle de commande de sortie. Sur certains systèmes de contrôle-S conserve sa signification mais Control-Q est remplacé par un deuxième contrôle-S de reprendre la production.

Code 127 est officiellement nommé "Supprimer", mais l'étiquette de téléscripteur était "rubout". Depuis la norme d'origine n'a pas donné une interprétation détaillée pour la plupart des codes de contrôle, les interprétations de ce code varié. Le sens de Teletype d'origine, et l'intention de la norme, était d'en faire un personnage ignoré, le même que NUL (zéros). Ce était utile spécifiquement pour une bande de papier, parce poinçonner le tout-un motif sur le dessus d'une marque existante de bits serait oblitérer. Tapes conçus pour être «main modifiés" pourrait même être produite avec des espaces de NULs supplémentaires (cassette vierge) de sorte qu'un bloc de caractères pourrait être "effacé" puis remplacements mis dans l'espace vide.

Comme terminaux vidéo ont commencé à remplacer les imprimer, la valeur du caractère "rubout" a été perdu. Systèmes décembre, par exemple, interprétés "Supprimer" pour dire "supprimer le caractère avant le curseur» et cette interprétation est également devenu courant dans les systèmes Unix. La plupart des autres systèmes utilisés "Backspace" pour que le sens et utilisés "Supprimer" pour dire "supprimer le caractère au niveau du curseur". Cette dernière interprétation est la plus courante aujourd'hui.

Beaucoup plus des codes de contrôle ont pu donner un sens très différent de leurs originaux. La «fuite» de caractère (ESC, le code 27), par exemple, a été conçu à l'origine pour permettre l'envoi d'autres caractères de contrôle comme des littéraux au lieu d'invoquer leur signification. Ce est le même sens de «évasion» rencontré dans encodages d'URL, langage C , les chaînes et d'autres systèmes où certains caractères ont une signification réservé. Au fil du temps ce sens a été coopté et a finalement été changé. Dans l'usage moderne, un CES envoyé à la borne indique généralement le début d'une séquence de commandes, généralement sous la forme d'un soi-disant " ANSI code d'échappement "(ou, plus correctement, un" contrôle de séquence d'introduction ") en commençant par ESC suivie par un" (crochet gauche) caractère [". Une ESC envoyé à partir du terminal est le plus souvent utilisé comme un out-of-band caractère utilisé pour terminer une opération, comme dans le TECO et vi éditeurs de texte. En l'interface utilisateur graphique (GUI) et systèmes de fenêtrage, ESC provoque généralement une application interrompre son opération en cours ou à sortie (fin) tout à fait.

L'ambiguïté inhérente de nombreux caractères de contrôle, combinée à leur usage historique, a créé des problèmes lors du transfert de "texte brut" des fichiers entre systèmes. Le meilleur exemple de ceci est le problème de saut de ligne sur les différents systèmes d'exploitation. téléscripteurs exigeaient que une ligne de texte se terminer par deux "Carriage Return" (qui se déplace la tête d'impression au début de la ligne) et "Alimentation Line" (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 transport tenant le papier déplacé alors que la position où les touches frappées le ruban resté stationnaire. La totalité du transport a dû être poussé (retourné) vers la droite afin de positionner la marge gauche du papier pour la ligne suivante.

Systèmes d'exploitation (décembre OS / 8, RT-11, RSX-11, RSTS, TOPS-10, etc.) utilisés deux caractères pour marquer la fin d'une ligne pour que le dispositif de la console (à l'origine Machines télétype) travailleraient. Par le temps que l'on appelle «verre ATS" (plus tard appelés tubes cathodiques ou bornes) sont arrivés, la convention a été si bien établi que la compatibilité ascendante a nécessité la poursuite de la convention. Lorsque Gary Kildall cloné RT-11 pour créer CP / M, il suivit établi Convention décembre. Jusqu'à l'introduction de PC-DOS en 1981, IBM ne avait pas la main dans ce parce que leurs systèmes utilisés 1970 EBCDIC au lieu d'ASCII exploitation et ils ont été orientés vers l'entrée à cartes perforées et de sortie de l'imprimante de la ligne sur laquelle la notion de «retour chariot» n'a pas de sens. IBM PC-DOS (également commercialisé sous le MS-DOS par Microsoft) a hérité de la convention en vertu d'être un clone de CP / M, et Windows hérité de MS-DOS.

Malheureusement, nécessitant deux caractères pour marquer la fin d'une ligne introduit une complexité et des questions quant à la façon d'interpréter chaque caractère quand rencontré seul inutile. Pour simplifier les choses flux de données en texte clair, y compris les fichiers, sur Multics utilisé saut de ligne (LF) seul comme un terminateur de ligne. Unix et Systèmes de type Unix, et Systèmes Amiga, a adopté cette convention de Multics. L'original Macintosh OS, Apple DOS, et ProDOS, d'autre part, utilisée retour chariot (CR) seul comme un terminateur de ligne; cependant, puisque Apple l'a remplacée par la base Unix- X système d'exploitation OS, ils utilisent maintenant un saut de ligne (LF) ainsi.

Ordinateurs attaché à la ARPANET inclus machines exécutant des systèmes d'exploitation tels que TOPS-10 et TENEX utilisant les fins de ligne CR-LF, 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ésentait lignes comme le nombre de caractères suivie par les caractères de la ligne et que utilisés EBCDIC plutôt que ASCII. Le protocole Telnet défini un caractère ASCII "Network Virtual Terminal" (NVT), de sorte que les connexions entre les hôtes avec différentes conventions de ligne fin et jeux de caractères pourraient être soutenus par la transmission d'un format standard de texte sur le réseau; il a 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 File Transfer Protocol adopté le protocole Telnet, y compris l'utilisation du terminal de réseau virtuel, pour une utilisation lors de la transmission des commandes et le transfert de données en mode ASCII par défaut. Cela ajoute de la complexité à des implémentations de ces protocoles, et à d'autres protocoles de réseau, tels que ceux utilisés pour E-mail et le World Wide Web, sur les systèmes qui ne utilisent pas CR-LF la convention de fin de ligne de la NVT.

Anciens systèmes d'exploitation tels que TOPS-10, avec CP / M, suivis longueur du fichier que dans des unités de blocs de disque et utilisés Control-Z (SUB) pour marquer la fin du texte actuel dans le fichier. Pour cette raison, EOF, ou de fin de fichier, et a été utilisé familièrement classiquement comme acronyme de trois lettres (TLA) pour le contrôle-Z au lieu de substitut. Pour diverses raisons, le code de fin de texte, ETX aka Control-C, était inapproprié et Z en utilisant le code de commande à la fin d'un fichier, il est analogue à la fin de l'alphabet, un très pratique mnémotechnique. Un historique commun, et encore répandue, utilise la convention ETX aka Control-C convention de code pour interrompre et arrêter un programme via un flux de données d'entrée, généralement à partir d'un clavier.

En bibliothèque et Unix conventions C, le caractère nul est utilisé pour terminer le texte cordes; tel chaînes à zéro terminal peuvent être connus à l'abréviation que ASCIZ ou ASCIIZ, où ici Z signifie "zéro".

ASCII code de contrôle tableau

Binaire Octobre Décembre Hex Abr Nom
000 0000 000 0 00 NUL ^ @ \ 0 Caractère nul
000 0001 001 1 01 SOH ^ A Début de la tête
000 0010 002 2 02 STX ^ B Début du texte
000 0011 003 3 03 ETX ^ C Fin de texte
000 0100 004 4 04 EOT ^ D Fin de la transmission
000 0101 005 5 05 ENQ ^ E Demande de renseignements
000 0110 006 6 06 ACK ^ F Reconnaissance
000 0111 007 7 07 BEL ^ G \ A Cloche
000 1000 010 8 08 BS ^ H \ B Retour arrière
000 1001 011 9 09 HT ^ I \ T Tab horizontale
000 1010 012 10 0A LF ^ J \ N Saut de ligne
000 1011 013 11 0B Vermont ^ K \ V Tabulation verticale
000 1100 014 12 0C FF L ^ \ F Saut
000 1101 015 13 0D CR ^ M \ R Retour chariot
000 1110 016 14 0E SO ^ N Maj Out
000 1111 017 15 0F SI ^ O Maj En
001 0000 020 16 10 DLE ^ P Data Link évasion
001 0001 021 17 11 DC1 Q ^ Device Control 1 (OFT. 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 NAK ^ U Accusé négative
001 0110 026 22 16 SYN ^ V Inactif synchrone
001 0111 027 23 17 ETB ^ W Fin du bloc Transmission
001 1000 030 24 18 POUVOIR ^ X Annuler
001 1001 031 25 19 EM Y ^ Fin de la moyenne
001 1010 032 26 1A SUB ^ Z Remplaçant
001 1011 033 27 1B ESC ^ [ \ E Évasion
001 1100 034 28 1C FS ^ \ Déposer Separator
001 1101 035 29 1D GS ^] Groupe Séparateur
001 1110 036 30 1E RS ^^ Enregistrez Separator
001 1111 037 31 1F États-Unis ^ _ Unité séparateur
111 1111 177 127 7F DEL ^? Effacer
  1. ^ Le Caractères Unicode de la région de U + 2400 à U + 2421 réservée pour représenter les caractères de contrôle quand il est nécessaire d'imprimer ou de les afficher plutôt que d'avoir à se acquitter de leur fonction. Certains navigateurs ne peuvent pas les afficher correctement.
  2. ^ Notation caret souvent utilisé pour représenter les caractères de contrôle sur un terminal. Sur la plupart des terminaux texte, en maintenant enfoncée la Ctrl tout en tapant le deuxième caractère tapera le caractère de contrôle. Parfois, la touche shift ne est pas nécessaire, par exemple ^ @ peut être typable avec juste Ctrl et 2.
  3. ^ Codes d'échappement de caractère en langage de programmation C et de nombreuses autres langues influencés par elle, comme Java et Perl (mais pas toutes les implémentations supportent nécessairement tous les codes d'échappement).
  4. ^ Le caractère Backspace peut également être entré en appuyant sur la touche ← Backspace sur certains systèmes.
  5. ^ Un b L'ambiguïté de Backspace est due à début des terminaux conçus en supposant que la principale utilisation du clavier serait à entrer manuellement une bande de papier sans être connecté à un ordinateur. Pour supprimer le caractère précédent, il fallait sauvegarder le perforateur de bande de papier, qui pour des raisons mécaniques et la simplicité était un bouton sur le poinçon lui-même et pas le clavier, puis tapez le caractère rubout. Ils ont donc placé un rubout production touche à l'emplacement utilisé sur les machines à écrire pour revenir en arrière. Lorsque les systèmes utilisés ces terminaux et à condition édition de ligne de commande, ils ont dû utiliser le code "rubout" pour effectuer un retour en arrière, et ne ont souvent pas interprété le caractère de retour arrière (ils pourraient echo "^ H" pour revenir en arrière). D'autres terminaux ne sont pas conçus pour la bande de papier fait la clé à cet endroit produire Backspace, et les systèmes conçus pour ces utilisés ce personnage à sauvegarder. Puisque le code de suppression produit souvent un effet de retour en arrière, cela a aussi forcé les fabricants de terminaux pour faire toute supprimer la clé produit autre chose que le caractère Suppr.
  6. ^ Le caractère de tabulation peut également être entré en appuyant sur la touche de l'onglet sur la plupart des systèmes.
  7. ^ Le caractère retour chariot peut également être entré en appuyant sur la touche ↵ touche Entrée ou Return sur la plupart des systèmes.
  8. ^ La séquence \ 'e' d'échappement ne est pas partie de l'ISO C et bien d'autres spécifications de langue. Toutefois, il est entendu par plusieurs compilateurs.
  9. ^ Le caractère d'échappement peut également être entré en appuyant sur la touche Echap sur certains systèmes.
  10. ^ ^^ Signifie Ctrl + ^ (caret appuyant sur les touches "Ctrl" et).
  11. ^ Le caractère Supprimer peut parfois être entré en appuyant sur la touche ← Backspace sur certains systèmes.

Caractères ASCII imprimables

Codes 20 hex à 7F hex , connu comme les caractères imprimables, représentent les lettres, les chiffres, signes de ponctuation et quelques symboles divers. Il ya 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 du clavier. Depuis le caractère espace est considéré comme un graphique invisible (plutôt que d'un caractère de contrôle) et donc ne seraient normalement pas visible, il est représenté ici par caractère Unicode U + 2420 "␠"; Les caractères Unicode U + 2422 "␢" et U + 2423 "␣" sont également disponibles pour une utilisation quand une représentation visible de l'espace est nécessaire.

Code 7F hex correspond à la (DEL) caractère non imprimable "Supprimer" de contrôle et ne est donc omis de 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 de la caret (5E hex ) et la flèche gauche à la place de la soulignement (5F hex ).

Binaire Octobre Décembre Hex Glyphe
010 0000 040 32 20
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 ?
Binaire Octobre Décembre Hex Glyphe
100 0000 100 64 40 @
100 0001 101 65 41 Un
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 Fa
100 0111 107 71 47 Sol
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 _
Binaire Octobre Décembre Hex Glyphe
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 fa
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 |
111 1101 175 125 7D }
111 1110 176 126 7E ~

Alias

A Juin 1992 et RFC le Internet Assigned Numbers Authority registre des jeux de caractères reconnaît les alias insensibles à la casse suivants pour ASCII adaptés pour une utilisation sur Internet:

  • ANSI_X3.4-1968 (nom canonique)
  • iso-ir-6
  • ANSI_X3.4-1986
  • ISO_646.irv: 1991
  • ASCII (avec ASCII-7 et ASCII-8 variantes)
  • ISO646-US
  • US-ASCII (préféré Nom MIME)
  • nous
  • IBM367
  • cp367
  • csASCII

Parmi ceux-ci, l'IANA encourage l'utilisation du nom "US-ASCII" pour des usages Internet de ASCII. On trouve souvent ce dans le paramètre "charset" option dans l'entête Content-Type de certains messages MIME, dans l'élément équivalent "meta" de certains documents HTML, et dans la partie de déclaration de codage du prologue de certains documents XML.

Variantes

Comme la technologie informatique la propagation à travers le monde, différente les organismes de normalisation et les sociétés développées de nombreuses variantes de ASCII pour faciliter l'expression des langues autres que l'anglais qui utilisaient alphabets base-romaine. On pourrait classe certaines de ces variations que " extensions ASCII ", bien que certains mauvais usage de ce terme pour représenter toutes les variantes, y compris ceux qui ne préserve pas la carte de caractères ASCII dans la plage de 7 bits.

Le Code PETSCII Commodore International utilisés pour leurs systèmes 8-bits est probablement unique parmi les codes post-1970 en se basant sur l'ASCII-1963, au lieu de l'ASCII-1967 plus fréquente, comme on en trouve sur le Ordinateur ZX Spectrum. Atari et ordinateurs Galaksija également utilisés variantes ASCII.

7 bits

Depuis le début de son développement, ASCII a été destiné à être juste un de plusieurs variantes nationales d'une norme de code de caractère international, finalement publié en tant que ISO / CEI 646 (1972), qui part la plupart des caractères en commun, mais assigner d'autres localement les caractères utiles à plusieurs points de code réservés pour "usage national." Cependant, les quatre années qui se sont écoulées entre la publication de l'ASCII-1963 et la première acceptation de l'ISO d'une recommandation internationale en 1967 ont causé les choix des ASCII pour les caractères d'utilisation nationaux semblent être les normes de facto pour le monde, provoquant la confusion et d'incompatibilité une fois les autres pays ne commencer à faire leurs propres affectations à ces points de code.

ISO / CEI 646, comme ASCII, était un jeu de caractères 7 bits. Il n'a pas fait de codes supplémentaires disponibles, de sorte que les mêmes points de code codé caractères différents dans des pays différents. Échapper codes ont été définis pour indiquer la variante nationale appliquée à un morceau de texte, mais ils sont rarement utilisés, de sorte qu'il était souvent impossible de savoir ce que la variante de travailler avec et donc quel personnage représenté un code, et dans les systèmes généraux de traitement de texte pourrait face avec une seule variante de toute façon.

Parce que les supports et bretelles caractères ASCII ont été affectées à des points "d'utilisation nationale" de code qui ont été utilisés pour les caractères accentués dans d'autres variantes nationales de l'ISO / CEI 646, un programmeur allemand, français ou suédois, etc. utilisant leur variante nationale de l'ISO / CEI 646, plutôt que ASCII, dû écrire, et donc lire, quelque chose comme

ä aÄiÜ = 'ON'; ü

au lieu de

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

C trigraphes ont été créés pour résoudre ce problème pour ANSI C, bien que leur introduction tardive et mise en œuvre incohérente dans les compilateurs limitent leur utilisation.

8 bits

Finalement, comme 8, 16, et Ordinateurs 32 bits ont commencé à remplacer 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 dans la mémoire, donnant l'occasion aux étendues, 8 bits, parents de ASCII. Dans la plupart des cas, ces développés comme de véritables extensions de ASCII, laissant le caractère de cartographie d'origine, intact, mais l'ajout de définitions de caractères supplémentaires après les premiers 128 (c.-à 7 bits) caractères.

La plupart des systèmes informatiques de la maison tôt développé leurs propres jeux de caractères 8 bits contenant de tracé et de jeux glyphes, et souvent remplis dans certains ou tous les caractères de contrôle 0-31 avec plus de graphiques. L'IBM PC défini page de code 437, qui a remplacé les caractères de contrôle avec des symboles graphiques tels que smiley face, et cartographié caractères graphiques supplémentaires pour les 128 postes supérieurs. Les systèmes d'exploitation tels que DOS ces pages de code, et les fabricants de prise en charge PC IBM les ont soutenus dans le matériel. Digital Equipment Corporation a développé le Multinational Character Set (DEC-MCS) pour une utilisation dans le populaire VT220 terminal, ce était l'une des premières extensions conçus plus pour les langues internationales que pour les blocs graphiques. Le Macintosh défini MacRoman et Postscript également défini un ensemble, à la fois de ces deux lettres internationales contenues et des signes de ponctuation typographiques à la place des graphiques, plus comme les jeux de caractères modernes. Le ISO / CEI 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 extension populaire conçu par Microsoft, Windows 1252 (souvent mal étiquetés comme ISO-8859-1), ajouté les signes de ponctuation typographiques nécessaires pour l'impression de texte attrayant.

ISO-8859-1, Windows-1252, et l'origine ASCII 7 bits étaient codages de caractères les plus courantes jusqu'à la fin des années 2000, de nos jours UTF-8 est de plus en plus commun.

Unicode

Unicode et l'ISO / CEI 10646 Universal Character Set (UCS) ont un éventail beaucoup plus large de caractères, et leurs diverses formes de codage ont commencé à supplanter ISO / CEI 8859 et ASCII rapidement dans de nombreux environnements. Alors que ASCII est limitée à 128 caractères, Unicode et les UCS soutiennent plusieurs caractères en séparant les concepts de l'identification unique (en utilisant des nombres naturels appelés points de code) et l'encodage (à 8, 16 ou 32 formats bits binaires, appelé UTF-8, UTF-16 et UTF-32).

Pour permettre la compatibilité ascendante, l'ASCII 128 et 256 ISO-8859-1 (Latin 1) caractères sont attribués des points de code Unicode / UCS qui sont les mêmes que leurs codes dans les normes antérieures. Par conséquent, ASCII peut être considéré comme un système de codage sur 7 bits pour un très petit sous-ensemble de Unicode / UCS, et ASCII (lorsque le préfixe 0 que le huitième bit) est valide UTF-8.

Ordre

Afin code ASCII est aussi appelé afin de ASCIIbetical. 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:

  • Tous les majuscules avant les minuscules, par exemple, "Z" avant "a"
  • Chiffres et de nombreux signes de ponctuation sont avant les lettres, par exemple, "4" précède "une"
  • Les nombres sont triés naïvement comme des chaînes, par exemple, "10" précède "2"

Un ordre intermédiaire - facilement mis en œuvre - convertit lettres majuscules en minuscules avant de comparer des valeurs ASCII. Numéro Naïf tri peut être évitée par zéro remplir tous les numéros (par exemple "02" pour trier avant "10" comme prévu), bien que ce est une solution externe et n'a rien à voir avec la commande elle-même.

Récupéré à partir de " http://en.wikipedia.org/w/index.php?title=ASCII&oldid=542989240 "