Codes Chr. Codage ASCII (code standard américain pour l'échange d'informations) - codage de texte de base pour l'alphabet latin

Bonjour, chers lecteurs du site blog. Aujourd'hui, nous allons vous expliquer d'où viennent les krakozyabrs sur un site Web et dans les programmes, quels encodages de texte existent et lesquels doivent être utilisés. Examinons de plus près l'historique de leur développement, en commençant par l'ASCII de base, ainsi que ses versions étendues CP866, KOI8-R, Windows 1251 et en terminant par les encodages modernes du consortium Unicode UTF 16 et 8.

Pour certains, cette information peut sembler inutile, mais sauriez-vous combien de questions je reçois spécifiquement concernant les krakozyabrs rampants (ensemble de caractères illisibles). J'aurai maintenant l'occasion de renvoyer tout le monde au texte de cet article et de trouver mes propres erreurs. Eh bien, préparez-vous à absorber les informations et essayez de suivre le déroulement de l’histoire.

ASCII - codage de texte de base pour l'alphabet latin

Le développement des codages de texte s'est produit simultanément avec la formation de l'industrie informatique et, pendant cette période, ils ont subi de nombreux changements. Historiquement, tout a commencé avec EBCDIC, plutôt dissonant dans la prononciation russe, qui permettait d'encoder des lettres de l'alphabet latin, des chiffres arabes et des signes de ponctuation avec des caractères de contrôle.

Néanmoins, le point de départ du développement des codages de texte modernes doit être considéré comme le fameux ASCII(American Standard Code for Information Interchange, qui en russe se prononce généralement « aski »). Il décrit les 128 premiers caractères les plus couramment utilisés par les utilisateurs anglophones : lettres latines, chiffres arabes et signes de ponctuation.

Ces 128 caractères décrits en ASCII comprenaient également certains caractères de service comme les crochets, les dièses, les astérisques, etc. En fait, vous pouvez les voir vous-même :

Ce sont ces 128 caractères de la version originale de l'ASCII qui sont devenus la norme, et dans tout autre encodage vous les retrouverez certainement et ils apparaîtront dans cet ordre.

Mais le fait est qu'avec un octet d'information, vous pouvez encoder non pas 128, mais jusqu'à 256 valeurs différentes (deux puissance huit égale 256), donc suivant version de base Toute une série d'Asukas est apparue encodages ASCII étendus, dans lequel, en plus de 128 caractères de base, il était également possible de coder des symboles du codage national (par exemple, le russe).

Ici, il vaut probablement la peine d’en dire un peu plus sur les systèmes numériques utilisés dans la description. Premièrement, comme vous le savez tous, un ordinateur ne fonctionne qu'avec les nombres du système binaire, c'est-à-dire avec les zéros et les uns (« algèbre booléenne », si quelqu'un l'a suivi dans un institut ou une école). , dont chacun est un deux à la puissance, en commençant par zéro et jusqu'à deux puissance sept :

Il n'est pas difficile de comprendre que toutes les combinaisons possibles de zéros et de uns dans une telle conception ne peuvent être que 256. La conversion d'un nombre du système binaire au système décimal est assez simple. Il vous suffit d’additionner toutes les puissances de deux avec celles au-dessus.

Dans notre exemple, cela s'avère être 1 (2 à la puissance zéro) plus 8 (deux à la puissance 3), plus 32 (deux à la puissance cinq), plus 64 (à la puissance six), plus 128. (à la septième puissance). Le total est de 233 en notation décimale. Comme vous pouvez le constater, tout est très simple.

Mais si vous regardez attentivement le tableau avec les caractères ASCII, vous verrez qu'ils sont représentés en codage hexadécimal. Par exemple, "astérisque" correspond à Aski nombre hexadécimal 2A. Vous le savez probablement dans système hexadécimal Les chiffres sont utilisés en plus des chiffres arabes et des lettres latines de A (signifie dix) à F (signifie quinze).

Eh bien, pour traduction nombre binaire en hexadécimal recourir à la méthode simple et évidente suivante. Chaque octet d'information est divisé en deux parties de quatre bits, comme le montre la capture d'écran ci-dessus. Que. Dans chaque demi-octet, seules seize valeurs (deux à la puissance quatre) peuvent être codées en binaire, qui peut facilement être représentée sous forme de nombre hexadécimal.

De plus, dans la moitié gauche de l'octet, les degrés devront être comptés à nouveau à partir de zéro, et non comme indiqué sur la capture d'écran. En conséquence, grâce à des calculs simples, nous obtenons que le nombre E9 est codé dans la capture d'écran. J'espère que le déroulement de mon raisonnement et la solution à cette énigme vous ont été clairs. Eh bien, continuons maintenant en parlant des encodages de texte.

Versions étendues d'Asuka - Encodages CP866 et KOI8-R avec pseudographies

Nous avons donc commencé à parler d'ASCII, qui était en quelque sorte le point de départ du développement de tous les encodages modernes (Windows 1251, Unicode, UTF 8).

Initialement, il ne contenait que 128 caractères de l'alphabet latin, des chiffres arabes et autre chose, mais dans la version étendue, il est devenu possible d'utiliser les 256 valeurs pouvant être codées dans un octet d'information. Ceux. Il est devenu possible d'ajouter des symboles de lettres de votre langue à Aski.

Ici, nous devrons faire une nouvelle digression pour expliquer - pourquoi avons-nous besoin d'encodages ? textes et pourquoi c’est si important. Les caractères sur l'écran de votre ordinateur sont formés sur la base de deux éléments : des ensembles de formes vectorielles (représentations) de différents caractères (ils se trouvent dans des fichiers avec ) et un code qui vous permet d'extraire de cet ensemble de formes vectorielles (fichier de police ) exactement le caractère qui devra être inséré au bon endroit.

Il est clair que les polices elles-mêmes sont responsables des formes vectorielles, mais le système d'exploitation et les programmes qui y sont utilisés sont responsables de l'encodage. Ceux. tout texte sur votre ordinateur sera un ensemble d'octets, dont chacun code un seul caractère de ce même texte.

Le programme qui affiche ce texte à l'écran (éditeur de texte, navigateur, etc.), lors de l'analyse du code, lit l'encodage du caractère suivant et recherche la forme vectorielle correspondante dans le fichier requis police qui est connectée pour afficher ce document texte. Tout est simple et banal.

Cela signifie que pour coder n'importe quel caractère dont nous avons besoin (par exemple, de l'alphabet national), deux conditions doivent être remplies : la forme vectorielle de ce caractère doit être dans la police utilisée et ce caractère peut être codé dans des codages ASCII étendus dans un octet. Par conséquent, il existe de nombreuses options de ce type. Juste pour coder les caractères de la langue russe, il existe plusieurs variétés d'Aska étendu.

Par exemple, paru à l'origine CP866, qui avait la capacité d'utiliser des caractères de l'alphabet russe et était une version étendue de l'ASCII.

Ceux. son la partie supérieure coïncidait complètement avec la version de base d'Asuka (128 caractères latins, chiffres et autres conneries), qui est présentée dans la capture d'écran juste au-dessus, mais maintenant Partie inférieure les tableaux avec encodage CP866 avaient le formulaire montré dans la capture d'écran juste en dessous et vous permettaient d'encoder 128 caractères supplémentaires (lettres russes et toutes sortes de pseudo-graphiques) :

Vous voyez, dans la colonne de droite, les chiffres commencent par 8, parce que... les nombres de 0 à 7 font référence à la partie de base de l'ASCII (voir première capture d'écran). Que. la lettre russe « M » dans CP866 aura le code 9C (elle est située à l'intersection de la ligne correspondante avec 9 et de la colonne avec le chiffre C dans le système numérique hexadécimal), qui peut être écrite dans un octet d'information, et s'il existe une police appropriée avec des caractères russes, cette lettre apparaîtra sans problème dans le texte.

D'où vient cette somme ? pseudographies dans CP866? Le fait est que cet encodage du texte russe a été développé à l'époque où les systèmes d'exploitation graphiques n'étaient pas aussi répandus qu'aujourd'hui. Et dans Dosa et les systèmes d'exploitation de texte similaires, les pseudographies ont permis au moins d'une manière ou d'une autre de diversifier la conception des textes, et donc CP866 et tous ses autres pairs de la catégorie des versions étendues d'Asuka en abondent.

CP866 a été distribué par IBM, mais en plus de cela, un certain nombre d'encodages ont été développés pour les caractères de la langue russe, par exemple, le même type (ASCII étendu) peut être attribué KOI8-R:

Le principe de son fonctionnement reste le même que celui du CP866 décrit un peu plus haut : chaque caractère de texte est codé par un seul octet. La capture d'écran montre la seconde moitié du tableau KOI8-R, car la première moitié est tout à fait cohérente avec l'Asuka de base, qui est présentée dans la première capture d'écran de cet article.

Parmi les caractéristiques de l'encodage KOI8-R, on peut noter que les lettres russes de son tableau n'entrent pas dans ordre alphabétique, comme ils l’ont fait par exemple dans CP866.

Si vous regardez la toute première capture d'écran (de la partie de base, qui est incluse dans tous les encodages étendus), vous remarquerez que dans KOI8-R les lettres russes sont situées dans les mêmes cellules du tableau que les lettres correspondantes de l'alphabet latin. de la première partie du tableau. Cela a été fait pour faciliter le passage des caractères russes aux caractères latins en supprimant un seul bit (deux à la puissance septième ou 128).

Windows 1251 - la version moderne d'ASCII et pourquoi les fissures apparaissent

Le développement ultérieur des codages de texte était dû au fait que les systèmes d'exploitation graphiques gagnaient en popularité et que la nécessité d'y utiliser des pseudographies disparaissait au fil du temps. En conséquence, tout un groupe est apparu qui, en substance, étaient encore des versions étendues d'Asuka (un caractère de texte est codé avec un seul octet d'information), mais sans l'utilisation de symboles pseudographiques.

Ils appartenaient aux codages dits ANSI, développés par l'American Standards Institute. Dans le langage courant, le nom cyrillique était également utilisé pour la version prenant en charge la langue russe. Un exemple de ceci serait.

Il différait favorablement des CP866 et KOI8-R précédemment utilisés en ce sens que la place des symboles pseudographiques était prise par les symboles manquants de la typographie russe (à l'exception de la marque d'accent), ainsi que par les symboles utilisés dans les langues slaves proches de Russe (ukrainien, biélorusse, etc.). ):

En raison d'une telle abondance d'encodages en langue russe, les fabricants de polices et les fabricants logiciel des maux de tête surgissaient constamment, et vous et moi, chers lecteurs, avons souvent eu les mêmes fameux Krakozyabry lorsqu'il y a eu confusion avec la version utilisée dans le texte.

Très souvent, ils apparaissaient lors de l'envoi et de la réception de messages via e-mail, ce qui impliquait la création de tables de conversion très complexes, qui, en fait, étaient fondamentalement incapables de résoudre ce problème, et que les utilisateurs utilisaient souvent pour la correspondance pour éviter les fameuses astuces lors de l'utilisation d'encodages russes comme CP866, KOI8-R ou Windows 1251.

En fait, les krakozyabrs apparaissant à la place du texte russe étaient le résultat d'une mauvaise utilisation de l'encodage. de cette langue, qui ne correspondait pas à celui dans lequel il était encodé message texte initialement.

Par exemple, si vous essayez d'afficher des caractères codés à l'aide du CP866 à l'aide du code Tableau des fenêtres 1251, alors ce même charabia (un ensemble de caractères dénué de sens) sortira, remplaçant complètement le texte du message.

Une situation similaire se produit très souvent dans les forums ou les blogs, lorsque le texte avec des caractères russes est enregistré par erreur dans le mauvais encodage utilisé par défaut sur le site, ou dans le mauvais éditeur de texte, ce qui ajoute des gags au code qui ne sont pas visibles. l'œil nu.

En fin de compte, beaucoup de gens en ont eu assez de cette situation avec beaucoup d'encodages et des conneries constamment rampantes, et les conditions préalables sont apparues pour la création d'une nouvelle variante universelle qui remplacerait toutes celles existantes et résoudrait enfin le problème de l'apparence. de textes illisibles. De plus, il y avait le problème de langues comme le chinois, où il y avait beaucoup plus de caractères que 256.

Unicode - encodages universels UTF 8, 16 et 32

Ces milliers de caractères du groupe linguistique d'Asie du Sud-Est ne pouvaient pas être décrits dans un seul octet d'informations alloué au codage des caractères dans les versions étendues de l'ASCII. En conséquence, un consortium a été créé appelé Unicode(Unicode - Unicode Consortium) avec la collaboration de nombreux leaders de l'industrie informatique (ceux qui produisent des logiciels, qui encodent du matériel, qui créent des polices), intéressés par l'émergence d'un encodage de texte universel.

La première variante publiée sous les auspices du Consortium Unicode était UTF32. Le nombre dans le nom de codage signifie le nombre de bits utilisés pour coder un caractère. 32 bits équivalent à 4 octets d'informations qui seront nécessaires pour coder un seul caractère dans le nouveau codage UTF universel.

En conséquence, le même fichier avec du texte codé en version étendue ASCII et en UTF-32, dans ce dernier cas, aura une taille (poids) quatre fois plus grande. C'est mauvais, mais nous avons maintenant la possibilité d'encoder en utilisant YTF un nombre de caractères égal à deux puissance trente secondes ( des milliards de caractères, qui couvrira toute valeur vraiment nécessaire avec une marge colossale).

Mais de nombreux pays avec des langues du groupe européen n'avaient pas du tout besoin d'utiliser un si grand nombre de caractères dans le codage. Cependant, lors de l'utilisation de UTF-32, ils ont reçu sans raison un poids multiplié par quatre. documents texte, et par conséquent, une augmentation du volume du trafic Internet et de la quantité de données stockées. C’est beaucoup et personne ne peut se permettre un tel gaspillage.

Suite au développement d'Unicode, UTF-16, qui s'est avéré un tel succès qu'il a été adopté par défaut comme espace de base pour tous les personnages que nous utilisons. Il utilise deux octets pour coder un caractère. Voyons à quoi ressemble cette chose.

Dans le système d'exploitation Windows, vous pouvez suivre le chemin « Démarrer » - « Programmes » - « Accessoires » - « Outils système » - « Table des caractères ». En conséquence, un tableau s'ouvrira avec les formes vectorielles de toutes les polices installées sur votre système. Si vous sélectionnez dans " Options additionelles» ensemble de caractères Unicode, vous pouvez voir pour chaque police séparément toute la gamme de caractères qu'elle contient.

D'ailleurs, en cliquant sur l'un d'entre eux, vous pouvez voir ses deux octets code au format UTF-16, composé de quatre chiffres hexadécimaux :

Combien de caractères peuvent être codés en UTF-16 en utilisant 16 bits ? 65 536 (deux puissance seize), et c'est le nombre qui a été adopté comme espace de base dans Unicode. De plus, il existe des moyens de coder environ deux millions de caractères en l'utilisant, mais ils étaient limités à un espace étendu d'un million de caractères de texte.

Mais même cette version réussie du codage Unicode n'a pas apporté beaucoup de satisfaction à ceux qui écrivaient, par exemple, des programmes uniquement en langue anglaise, car après le passage de la version étendue d'ASCII à UTF-16, le poids des documents a doublé (un octet par caractère en Aski et deux octets par même caractère en UTF-16).

C'est précisément pour satisfaire tout le monde et tout au sein du consortium Unicode qu'il a été décidé de proposer codage à longueur variable. Il s'appelait UTF-8. Malgré le huit dans le nom, il a en réalité une longueur variable, c'est-à-dire Chaque caractère de texte peut être codé dans une séquence de un à six octets.

En pratique, UTF-8 n'utilise que la plage de un à quatre octets, car au-delà de quatre octets de code, il n'est même plus théoriquement possible d'imaginer quoi que ce soit. Tous les caractères latins qu'il contient sont codés sur un octet, tout comme dans le bon vieux ASCII.

Ce qui est remarquable, c'est que dans le cas de l'encodage uniquement de l'alphabet latin, même les programmes qui ne comprennent pas Unicode liront quand même ce qui est encodé en YTF-8. Ceux. la partie centrale d'Asuka a simplement été transférée vers cette création du consortium Unicode.

Les caractères cyrilliques en UTF-8 sont codés sur deux octets et, par exemple, les caractères géorgiens sont codés sur trois octets. Le Consortium Unicode, après avoir créé UTF 16 et 8, a résolu le problème principal - nous avons maintenant les polices ont un seul espace de code. Et maintenant, leurs fabricants ne peuvent le remplir qu'avec des formes vectorielles de caractères de texte en fonction de leurs points forts et de leurs capacités. Maintenant, ils viennent même en sets.

Dans le « Tableau des caractères » ci-dessus, vous pouvez voir que différentes polices prennent en charge différents nombres de caractères. Certaines polices riches en Unicode peuvent être assez lourdes. Mais maintenant, ils ne diffèrent pas par le fait qu'ils ont été créés pour des encodages différents, mais par le fait que le fabricant de polices a rempli ou pas complètement l'espace de code unique avec certaines formes vectorielles.

Des mots fous au lieu de lettres russes - comment y remédier

Voyons maintenant comment les krakozyabrs apparaissent à la place du texte ou, en d'autres termes, comment le codage correct du texte russe est sélectionné. En fait, il est défini dans le programme dans lequel vous créez ou modifiez ce même texte, ou codez à l'aide de fragments de texte.

Pour l'édition et la création fichiers texte Personnellement, j'en utilise un très bon, à mon avis, . Cependant, il peut mettre en évidence la syntaxe de centaines d’autres langages de programmation et de balisage, et a également la possibilité d’être étendu à l’aide de plugins. Lire examen détaillé ce merveilleux programme sur le lien fourni.

DANS menu principal Notepad++ a un élément « Encodages », où vous aurez la possibilité de convertir une option existante en celle utilisée par défaut sur votre site :

Dans le cas d'un site sur Joomla 1.5 et supérieur, ainsi que dans le cas d'un blog sur WordPress, vous devez sélectionner l'option pour éviter l'apparition de fissures UTF 8 sans nomenclature. Quel est le préfixe de la nomenclature ?

Le fait est que lorsqu'ils développaient le codage YUTF-16, pour une raison quelconque, ils ont décidé d'y attacher une chose telle que la possibilité d'écrire le code de caractère à la fois en séquence directe (par exemple, 0A15) et en sens inverse (150A). . Et pour que les programmes comprennent exactement dans quel ordre lire les codes, il a été inventé Nomenclature(Byte Order Mark ou, en d'autres termes, signature), qui se traduisait par l'ajout de trois octets supplémentaires au tout début des documents.

Dans l'encodage UTF-8, aucune nomenclature n'était prévue dans le consortium Unicode, et donc l'ajout d'une signature (ces fameux trois octets supplémentaires au début du document) empêche simplement certains programmes de lire le code. Par conséquent, lors de l’enregistrement de fichiers au format UTF, nous devons toujours sélectionner l’option sans nomenclature (sans signature). Donc tu es en avance protégez-vous des krakozyabrs rampants.

Ce qui est remarquable, c'est que certains programmes sous Windows ne peuvent pas faire cela (ils ne peuvent pas enregistrer de texte au format UTF-8 sans nomenclature), par exemple le même bloc-notes Windows notoire. Il enregistre le document au format UTF-8, mais ajoute toujours la signature (trois octets supplémentaires) au début de celui-ci. De plus, ces octets seront toujours les mêmes - lisez le code en séquence directe. Mais sur les serveurs, à cause de cette petite chose, un problème peut survenir : des escrocs vont apparaître.

Par conséquent, en aucun cas ne pas utiliser régulièrement Bloc-notes Windows pour éditer des documents sur votre site si vous ne souhaitez pas que des fissures apparaissent. Le meilleur et le plus option simple Je pense déjà mentionné Éditeur de bloc-notes++, qui n'a pratiquement aucun inconvénient et ne comporte que des avantages.

Dans Notepad++, lorsque vous sélectionnez un encodage, vous aurez la possibilité de convertir le texte en encodage UCS-2, qui est de nature très proche de la norme Unicode. Également dans le Bloc-notes, il sera possible d'encoder du texte en ANSI, c'est-à-dire par rapport à la langue russe, il s'agira de Windows 1251, que nous avons déjà décrit juste au-dessus. D'où viennent ces informations ?

Il est inscrit dans votre registre système opérateur Windows - quel encodage choisir dans le cas d'ANSI, lequel choisir dans le cas d'OEM (pour la langue russe, ce sera CP866). Si vous installez une autre langue par défaut sur votre ordinateur, ces encodages seront remplacés par des encodages similaires de la catégorie ANSI ou OEM pour cette même langue.

Après avoir enregistré le document dans Notepad++ dans l'encodage dont vous avez besoin ou ouvert le document depuis le site pour le modifier, vous pouvez voir son nom dans le coin inférieur droit de l'éditeur :

Pour éviter les rednecks, en plus des actions décrites ci-dessus, il sera utile d'écrire dans son en-tête code source toutes les pages du site des informations sur ce même encodage, afin que sur le serveur ou hôte local il n'y a eu aucune confusion.

En général, dans toutes les langues balisage hypertexte En plus du HTML, une déclaration XML spéciale est utilisée, qui indique l'encodage du texte.

Avant d'analyser le code, le navigateur sait quelle version est utilisée et comment exactement il doit interpréter les codes de caractères de cette langue. Mais ce qui est remarquable, c'est que si vous enregistrez le document dans l'Unicode par défaut, alors cette déclaration XML peut être omise (l'encodage sera considéré comme UTF-8 s'il n'y a pas de nomenclature ou UTF-16 s'il y a une nomenclature).

Dans le cas d'un document Langage HTML utilisé pour indiquer le codage Élément méta, qui est écrit entre les balises Head d'ouverture et de fermeture :

... ...

Cette entrée est assez différente de celle adoptée dans, mais est entièrement conforme au nouveau standard HTML 5 qui est lentement introduit, et elle sera parfaitement comprise correctement par tous les navigateurs actuellement utilisés.

En théorie, un élément Meta avec une indication Encodages HTML il vaudrait mieux mettre le document le plus haut possible dans l'en-tête du document de sorte qu'au moment de rencontrer le premier caractère du texte ne provenant pas de l'ANSI de base (qui sont toujours lus correctement et dans n'importe quelle variante), le navigateur devrait déjà avoir des informations sur la façon d'interpréter les codes de ces caractères.

Bonne chance à toi! A bientôt sur les pages du site blog

Vous pouvez regarder plus de vidéos en allant sur
");">

Vous pourriez être intéressé

Que sont les adresses URL, quelle est la différence entre absolue et liens relatifs pour le chantier
OpenServer - moderne serveur local et un exemple de son utilisation pour Installations WordPress sur l'ordinateur
Qu'est-ce que Chmod, quelles autorisations attribuer aux fichiers et dossiers (777, 755, 666) et comment le faire via PHP
Recherche Yandex par site et boutique en ligne

Selon l’Union internationale des télécommunications, en 2016, trois milliards et demi de personnes utilisaient Internet avec une certaine régularité. La plupart d'entre eux ne pensent même pas au fait que les messages qu'ils envoient via PC ou gadgets mobiles, ainsi que les textes affichés sur toutes sortes de moniteurs, sont en réalité des combinaisons de 0 et 1. Cette représentation des informations est appelée encodage. Il assure et facilite grandement son stockage, son traitement et sa transmission. En 1963, le codage américain ASCII a été développé, ce qui fait l'objet de cet article.

Présenter des informations sur un ordinateur

Du point de vue de tout ordinateur électronique, le texte est un ensemble de caractères individuels. Ceux-ci incluent non seulement les lettres, y compris les majuscules, mais également les signes de ponctuation et les chiffres. De plus, les caractères spéciaux « = », « & », « ( » et des espaces sont utilisés.

L'ensemble des caractères qui composent le texte s'appelle l'alphabet et leur nombre est appelé cardinalité (noté N). Pour le déterminer, l'expression N = 2^b est utilisée, où b est le nombre de bits ou le poids informationnel d'un symbole particulier.

Il a été prouvé qu'un alphabet d'une capacité de 256 caractères peut représenter tous les caractères nécessaires.

Puisque 256 représente la 8ème puissance de deux, le poids de chaque caractère est de 8 bits.

Une unité de mesure de 8 bits est appelée 1 octet, il est donc d'usage de dire que tout caractère d'un texte stocké sur un ordinateur occupe un octet de mémoire.

Comment se fait le codage ?

Tous les textes sont entrés en mémoire ordinateur personnel grâce aux touches du clavier sur lesquelles sont écrits des chiffres, des lettres, des signes de ponctuation et d'autres symboles. DANS RAM ils sont transmis en code binaire, c'est-à-dire que chaque caractère est associé à un code décimal familier à l'homme, de 0 à 255, qui correspond à code binaire- de 00000000 à 11111111.

Le codage de caractères octet-octet permet au processeur effectuant le traitement de texte d'accéder à chaque caractère individuellement. Dans le même temps, 256 caractères suffisent amplement pour représenter n'importe quelle information symbolique.

Codage de caractères ASCII

Cette abréviation en anglais signifie code pour l'échange d'informations.

Même à l’aube de l’informatisation, il est devenu évident qu’il était possible de proposer une grande variété de méthodes pour coder l’information. Cependant, pour transférer des informations d’un ordinateur à un autre, il était nécessaire de développer une norme unifiée. Ainsi, en 1963, la table de codage ASCII apparaît aux USA. Dans celui-ci, tout symbole de l'alphabet informatique est associé à son numéro de série en représentation binaire. ASCII était à l'origine utilisé uniquement aux États-Unis et est ensuite devenu une norme internationale pour les PC.

Les codes ASCII sont divisés en 2 parties. Seule la première moitié de ce tableau est considérée comme la norme internationale. Il comprend des caractères avec des numéros de série allant de 0 (codé 00000000) à 127 (codé 01111111).

Numéro de série

Encodage de texte ASCII

Symbole

0000 0000 - 0001 1111

Les caractères avec N compris entre 0 et 31 sont appelés caractères de contrôle. Leur fonction est de « gérer » le processus d'affichage du texte sur un moniteur ou un périphérique d'impression, en alimentant signal sonore et ainsi de suite.

0010 0000 - 0111 1111

Caractères avec N de 32 à 127 (partie standard du tableau) - majuscules et minuscule Alphabet latin, dixièmes chiffres, signes de ponctuation, ainsi que diverses parenthèses, symboles commerciaux et autres. Le caractère 32 représente un espace.

1000 0000 - 1111 1111

Les caractères avec N compris entre 128 et 255 (partie alternative du tableau ou page de codes) peuvent avoir diverses options, dont chacun a son propre numéro. La page de codes est utilisée pour spécifier des alphabets nationaux différents du latin. C'est notamment avec son aide que s'effectue le codage ASCII des caractères russes.

Dans le tableau, les encodages sont en majuscules et se suivent par ordre alphabétique, et les nombres sont par ordre croissant. Ce principe reste le même pour l’alphabet russe.

Caractères de contrôle

La table de codage ASCII a été créée à l'origine pour recevoir et transmettre des informations via un appareil qui n'a pas été utilisé depuis longtemps, comme un télétype. À cet égard, des caractères non imprimables ont été inclus dans le jeu de caractères, utilisés comme commandes pour contrôler cet appareil. Des commandes similaires ont été utilisées dans des méthodes de messagerie pré-informatiques telles que le code Morse, etc.

Le caractère de télétype le plus courant est NUL (00). Il est encore utilisé aujourd'hui dans la plupart des langages de programmation pour indiquer la fin d'une ligne.

Où le codage ASCII est-il utilisé ?

Américain code standard nécessaire non seulement pour la saisie informations textuelles depuis le clavier. Il est également utilisé dans le graphisme. En particulier, dans le programme ASCII Art Créateur d'images Les différentes extensions représentent un spectre de caractères ASCII.

Il existe deux types de produits similaires : ceux qui remplissent une fonction éditeurs graphiques en convertissant les images en texte et en convertissant les « dessins » en graphiques ASCII. Par exemple, une émoticône célèbre est un exemple brillant caractère de codage.

ASCII peut également être utilisé pour créer Document HTML. Dans ce cas, vous pouvez saisir un certain jeu de caractères et lors de la visualisation de la page, un symbole correspondant à ce code apparaîtra à l'écran.

L'ASCII est également nécessaire pour créer des sites Web multilingues, puisque les caractères qui ne figurent pas dans un tableau national spécifique sont remplacés par des codes ASCII.

Certaines fonctionnalités

ASCII était à l'origine utilisé pour coder des informations textuelles en utilisant 7 bits (un était laissé vide), mais aujourd'hui, il fonctionne comme 8 bits.

Les lettres situées dans les colonnes situées au-dessus et en dessous ne diffèrent les unes des autres que par un seul bit. Cela réduit considérablement la complexité de l’audit.

Utilisation de l'ASCII dans Microsoft Office

Si nécessaire, ce type de codage d'informations textuelles peut être utilisé dans éditeurs de texte Les sociétés Microsoft telles que Notepad et Mot de bureau. Cependant, dans ce cas, vous ne pourrez peut-être pas utiliser certaines fonctions lors de la saisie. Par exemple, vous ne pourrez pas sélectionner en gras, puisque le codage ASCII préserve uniquement le sens de l'information, ignorant son apparence et sa forme générales.

Standardisation

L'organisation ISO a adopté les normes ISO 8859. Ce groupe définit des codages sur huit bits pour différents groupes de langues. Plus précisément, ISO 8859-1 est une table ASCII étendue destinée aux États-Unis et aux pays d'Europe occidentale. Et ISO 8859-5 est un tableau utilisé pour l'alphabet cyrillique, y compris la langue russe.

Pour diverses raisons historiques, la norme ISO 8859-5 a été utilisée pendant très peu de temps.

Pour la langue russe ce moment Les encodages réels utilisés sont :

  • CP866 (page de codes 866) ou DOS, qui est souvent appelé codage GOST alternatif. Il a été activement utilisé jusqu'au milieu des années 90 du siècle dernier. Pour le moment, il n’est pratiquement pas utilisé.
  • KOI-8. Le codage a été développé dans les années 1970 et 1980 et constitue désormais la norme généralement acceptée pour messages électroniques dans Runet. Il est largement utilisé dans les systèmes d'exploitation Famille Unix, y compris Linux. La version « russe » du KOI-8 s'appelle KOI-8R. Il existe également des versions pour d’autres langues cyrilliques, comme l’ukrainien.
  • Page de codes 1251 (CP 1251, Windows - 1251). Développé par Microsoft pour assurer la prise en charge de la langue russe dans l'environnement Windows.

Le principal avantage du premier standard CP866 était la préservation des caractères pseudographiques dans les mêmes positions qu'en Extended ASCII. Cela lui a permis de fonctionner sans modifications programmes de texte, des productions étrangères, comme le célèbre Norton Commander. Actuellement, le CP866 est utilisé pour les programmes développés pour Windows qui s'exécutent en plein écran. mode texte ou dans les fenêtres de texte, y compris FAR Manager.

Textes informatiques écrits en codage CP866, en Dernièrement Ils sont assez rares, mais c'est celui qui est utilisé pour les noms de fichiers russes sous Windows.

"Unicode"

À l’heure actuelle, ce codage est le plus utilisé. Les codes Unicode sont divisés en zones. Le premier (U+0000 à U+007F) comprend des caractères ASCII avec des codes. Viennent ensuite les zones de caractères de diverses écritures nationales, ainsi que les signes de ponctuation et les symboles techniques. De plus, certains codes Unicode sont réservés au cas où il serait nécessaire d'inclure de nouveaux caractères à l'avenir.

Vous savez maintenant qu'en ASCII, chaque caractère est représenté par une combinaison de 8 zéros et uns. Pour les non-spécialistes, ces informations peuvent paraître inutiles et sans intérêt, mais ne voulez-vous pas savoir ce qui se passe « dans le cerveau » de votre PC ?!

Déc Hex Symbole Déc Hex Symbole
000 00 spécialiste. NON 128 80 Ђ
001 01 spécialiste. SOH 129 81 Ѓ
002 02 spécialiste. STX 130 82
003 03 spécialiste. ETX 131 83 ѓ
004 04 spécialiste. EOT 132 84
005 05 spécialiste. ENQ 133 85
006 06 spécialiste. ACCK 134 86
007 07 spécialiste. BEL 135 87
008 08 spécialiste. BS. 136 88
009 09 spécialiste. LANGUETTE 137 89
010 0Aspécialiste. LF 138 8AЉ
011 0Bspécialiste. Vermont 139 8B‹ ‹
012 0Cspécialiste. FR 140 8CЊ
013 0Dspécialiste. CR 141 8DЌ
014 0Espécialiste. DONC 142 8EЋ
015 0Fspécialiste. SI. 143 8FЏ
016 10 spécialiste. DLE 144 90 ђ
017 11 spécialiste. DC1 145 91
018 12 spécialiste. DC2 146 92
019 13 spécialiste. DC3 147 93
020 14 spécialiste. DC4 148 94
021 15 spécialiste. N.A.K. 149 95
022 16 spécialiste. SYN 150 96
023 17 spécialiste. ETB 151 97
024 18 spécialiste. PEUT 152 98
025 19 spécialiste. E.M. 153 99
026 1Aspécialiste. SOUS 154 9Aљ
027 1Bspécialiste. ÉCHAP 155 9B
028 1Cspécialiste. FS 156 9Cњ
029 1Dspécialiste. G.S. 157 9Dќ
030 1Espécialiste. R.S. 158 9Eћ
031 1Fspécialiste. NOUS 159 9Fџ
032 20 embrayage SP (Espace) 160 A0
033 21 ! 161 A1 Ў
034 22 " 162 A2ў
035 23 # 163 A3Ћ
036 24 $ 164 A4¤
037 25 % 165 A5Ґ
038 26 & 166 A6¦
039 27 " 167 A7§
040 28 ( 168 A8Yo
041 29 ) 169 A9©
042 2A* 170 Les AAЄ
043 2B+ 171 UN B«
044 2C, 172 A.C.¬
045 2D- 173 ANNONCE­
046 2E. 174 A.E.®
047 2F/ 175 UN F.Ї
048 30 0 176 B0°
049 31 1 177 B1±
050 32 2 178 B2І
051 33 3 179 B3і
052 34 4 180 B4ґ
053 35 5 181 B5µ
054 36 6 182 B6
055 37 7 183 B7·
056 38 8 184 B8e
057 39 9 185 B9
058 3A: 186 B.A.є
059 3B; 187 BB»
060 3C< 188 AVANT JC.ј
061 3D= 189 BDЅ
062 3E> 190 ÊTREѕ
063 3F? 191 B.F.ї
064 40 @ 192 C0 UN
065 41 UN 193 C1 B
066 42 B 194 C2 DANS
067 43 C 195 C3 g
068 44 D 196 C4 D
069 45 E 197 C5 E
070 46 F 198 C6 ET
071 47 g 199 C7 Z
072 48 H 200 C8 ET
073 49 je 201 C9 Oui
074 4AJ. 202 CALIFORNIE. À
075 4BK 203 C.B. L
076 4CL 204 CC M.
077 4DM. 205 CD N
078 4EN 206 C.E. À PROPOS
079 4FÔ 207 FC P.
080 50 P. 208 D0 R.
081 51 Q 209 D1 AVEC
082 52 R. 210 D2 T
083 53 S 211 D3 U
084 54 T 212 D4 F
085 55 U 213 D5 X
086 56 V 214 D6 C
087 57 W 215 J7 H
088 58 X 216 D8 Ch
089 59 Oui 217 D9 SCH
090 5AZ 218 D.A. Kommersant
091 5B[ 219 D.B. Oui
092 5C\ 220 CC b
093 5D] 221 DD E
094 5E^ 222 DE YU
095 5F_ 223 DF je
096 60 ` 224 E0 UN
097 61 un 225 E1 b
098 62 b 226 E2 V
099 63 c 227 E3 g
100 64 d 228 E4 d
101 65 e 229 E5 e
102 66 F 230 E6 et
103 67 g 231 E7 h
104 68 h 232 E8 Et
105 69 je 233 E9 ème
106 6Aj 234 E.A. À
107 6Bk 235 E.B. je
108 6Cje 236 C.E. m
109 6Dm 237 ED n
110 6En 238 E.E. Ô
111 6Fo 239 E.F. P.
112 70 p 240 F0 R.
113 71 q 241 F1 Avec
114 72 r 242 F2 T
115 73 s 243 F3 à
116 74 t 244 F4 F
117 75 toi 245 F5 X
118 76 v 246 F6 ts
119 77 w 247 F7 h
120 78 X 248 F8 w
121 79 oui 249 F9 sch
122 7Az 250 FA. ъ
123 7B{ 251 Facebook s
124 7C| 252 F.C. b
125 7D} 253 FD euh
126 7E~ 254 F.E. Yu
127 7FSpécialiste. DEL 255 FR je

Table de codes de caractères ASCII Windows.
Description des caractères spéciaux (de contrôle)

Il convient de noter que les caractères de contrôle des tables ASCII étaient à l'origine utilisés pour assurer l'échange de données via un téléimprimeur, la saisie de données à partir d'une bande perforée et pour un contrôle simple de périphériques externes.
Actuellement, la plupart des caractères de contrôle de table ASCII ne supportent plus cette charge et peuvent être utilisés à d'autres fins.
Code Description
NUL, 00Nulle, vide
SOH, 01Début du titre
STX, 02Début de TeXt, le début du texte.
ETX, 03Fin de TeXt, fin du texte
EOT, 04Fin de transmission, fin de transmission
ENQ, 05Renseigner. Veuillez confirmer
ACCK, 06Reconnaissance. je confirme
BEL, 07Cloche, appelle
BS, 08Retour arrière, recule d'un caractère
ONGLET, 09Onglet, onglet horizontal
BF, 0ASaut de ligne, saut de ligne.
De nos jours, dans la plupart des langages de programmation, il est noté \n
VT, 0BOnglet vertical, tabulation verticale.
FR, 0CFil de formulaire, fil de page, nouvelle page
CR, 0DRetour chariot, retour chariot.
De nos jours, dans la plupart des langages de programmation, il est noté \r
SO,0EShift Out, change la couleur du ruban encreur dans le périphérique d'impression
SI, 0FShift In, renvoie la couleur du ruban encreur dans le périphérique d'impression
DLE, 10 Liaison de donnéesÉchapper, changement de canal vers la transmission de données
DC1, 11
DC2, 12
DC3, 13
DC4, 14
Contrôle des appareils, symboles de contrôle des appareils
NAK, 15 ansAccusé de réception négatif, je ne confirme pas.
SYN, 16Synchronisation. Symbole de synchronisation
ETB, 17Fin du bloc de texte, fin du bloc de texte
CAN, 18Annuler, annulation d'un message précédemment transmis
EM, 19Fin du Médium
SUB, 1ARemplacer, remplacer. Placé à la place d'un symbole dont la signification a été perdue ou corrompue lors de la transmission
ESC, 1BSéquence de contrôle d'évacuation
FS, 1CSéparateur de fichiers, séparateur de fichiers
GS, 1DSéparateur de groupe
RS, 1ESéparateur d'enregistrements, séparateur d'enregistrements
États-Unis, 1FSéparateur d'unités
DEL, 7FSupprimer, effacer le dernier caractère.

Afin d'utiliser correctement l'ASCII, il est nécessaire d'élargir vos connaissances dans ce domaine et sur les capacités de codage.

Ce que c'est?

ASCII est une table d'encodage de caractères imprimables (voir capture d'écran n°1) tapés sur clavier d'ordinateur, pour transmettre des informations et certains codes. En d’autres termes, l’alphabet et les chiffres décimaux sont codés en symboles correspondants qui représentent et transportent les informations nécessaires.

ASCII a été développé en Amérique, le jeu de caractères standard comprend donc généralement l'alphabet anglais avec des chiffres, pour un total d'environ 128 caractères. Mais alors une question légitime se pose : que faire si le codage de l’alphabet national est nécessaire ?

D'autres versions de la table ASCII ont été développées pour résoudre des problèmes similaires. Par exemple, pour les langues ayant une structure de langue étrangère, les lettres de l'alphabet anglais ont été soit supprimées, soit ajoutées. caractères supplémentaires sous la forme d'un alphabet national. Ainsi, le codage ASCII peut contenir des lettres russes pour utilisation nationale(voir capture d'écran n°2).

Où le système de codage ASCII est-il utilisé ?

Ce système de codage n'est pas seulement nécessaire pour saisir des informations textuelles sur le clavier. Il est également utilisé dans le graphisme. Par exemple, dans le programme ASCII Art Maker images graphiques diverses extensions sont constituées d'une série de caractères ASCII (voir capture d'écran n°3).


En règle générale, ces programmes peuvent être divisés en ceux qui remplissent la fonction d'éditeurs graphiques, inversant une image en texte, et ceux qui convertissent une image en graphiques ASCII. L'émoticône bien connue (ou comme on l'appelle aussi « souriant visage humain ") est également un exemple de caractère codé.

Cette méthode d'encodage peut également être utilisée lors de l'écriture ou de la création d'un document HTML. Par exemple, vous saisissez un jeu de caractères spécifique et nécessaire, et lors de la visualisation de la page elle-même, le symbole correspondant à ce code s'affichera à l'écran.

Entre autres ce type l'encodage est nécessaire lors de la création d'un site Web multilingue, car les caractères qui ne sont pas inclus dans un tableau national particulier devront être remplacés par des codes ASCII. Si le lecteur est directement connecté aux technologies de l'information et de la communication (TIC), alors il lui sera utile de se familiariser avec des systèmes tels que :

  1. Jeu de caractères portable ;
  2. Caractères de contrôle ;
  3. EBCDIC ;
  4. VISCII;
  5. YUSCII ;
  6. Unicode ;
  7. Illustrations ASCII ;
  8. KOI-8.

Propriétés des tables ASCII

Comme tout programme systématique, ASCII possède ses propres propriétés caractéristiques. Ainsi, par exemple, le système de nombres décimaux (chiffres de 0 à 9) est converti en système binaire calcul (c'est-à-dire que chaque chiffre décimal est converti en binaire 288 = 1001000 respectivement).

Les lettres situées dans les colonnes supérieure et inférieure ne diffèrent que légèrement les unes des autres, ce qui réduit considérablement le niveau de complexité de la vérification et de l'édition du dossier.

Avec toutes ces propriétés, le codage ASCII fonctionne sur huit bits, alors qu'il était initialement prévu pour sept bits.

Application de l'ASCII dans Programmes Microsoft Bureau:

Si nécessaire cette option le codage des informations peut être utilisé dans Microsoft Notepad et Microsoft Office Mot. Au sein de ces applications, le document peut être enregistré au format ASCII, mais dans ce cas, vous ne pourrez pas utiliser certaines fonctions lors de la saisie de texte.

En particulier, les caractères gras et gras ne seront pas disponibles car le codage préserve uniquement le sens des informations saisies, et non l'apparence et la forme générales. Vous pouvez ajouter de tels codes à un document à l'aide des applications logicielles suivantes :

  • Microsoft Excel;
  • Microsoft FrontPage ;
  • Microsoft InfoPath ;
  • MicrosoftOneNote ;
  • Microsoft Outlook;
  • Microsoft Powerpoint;
  • Projet Microsoft.

Il convient de noter que lorsque vous tapez le code ASCII dans ces applications, vous devez maintenir enfoncé touche du clavier ALTER.

Bien sur tout codes requis nécessite une étude plus longue et plus détaillée, mais cela dépasse le cadre de notre article d’aujourd’hui. J'espère que vous l'avez trouvé vraiment utile.

À la prochaine!

Bon mauvais