Blocs de construction fondamentaux
Lorsque nous parlons de langue écrite, nous parlons de lettres comme de blocs de mots, qui construisent ensuite des phrases, des paragraphes, etc. Les lettres sont des symboles qui représentent des sons. Lorsque vous parlez de langue, vous parlez de groupes de sons qui se réunissent pour former un sens. Chaque système linguistique possède un ensemble complexe de règles et de définitions qui régissent ces significations. Si vous avez un mot, il est inutile à moins de connaître sa langue et de l’utiliser avec d’autres personnes qui parlent cette langue.
Dans le monde de l'informatique, nous utilisons le terme «personnage». Un caractère est en quelque sorte un concept abstrait, défini par des paramètres spécifiques, mais c'est l'unité fondamentale de la signification. Le latin «A» n’est pas identique à un «alpha» grec ou à un «alif» arabe, car ils ont des contextes différents - ils sont de langues différentes et ont des prononciations légèrement différentes - nous pouvons donc dire que ce sont des caractères différents. La représentation visuelle d'un caractère s'appelle un «glyphe» et différents ensembles de glyphes sont appelés des polices. Les groupes de caractères appartiennent à un "ensemble" ou à un "répertoire".
Lorsque vous tapez un paragraphe et que vous modifiez la police, vous ne modifiez pas les valeurs phonétiques des lettres, vous modifiez leur apparence. C’est juste cosmétique (mais pas sans importance!). Certaines langues, comme l'ancien égyptien et le chinois, ont des idéogrammes; ils représentent des idées entières au lieu de sons et leur prononciation peut varier dans le temps et la distance. Si vous substituez un caractère à un autre, vous substituez une idée. C’est plus que changer de lettre, c’est changer d’idéogramme.
Encodage de caractère
(Image de Wikipedia)
Lorsque vous tapez quelque chose sur le clavier ou chargez un fichier, comment l'ordinateur sait-il ce qu'il doit afficher? C’est à cela que sert l’encodage de caractères. Le texte sur votre ordinateur n’est pas réellement une lettre, c’est une série de valeurs alphanumériques appariées. Le codage des caractères agit comme une clé pour laquelle les valeurs correspondent aux caractères, un peu comme l’orthographe dicte quels sons correspondent à quelles lettres. Le code Morse est une sorte d’encodage de caractères. Il explique comment des groupes d'unités longues et courtes, tels que des bips sonores, représentent des caractères. En code Morse, les caractères ne sont que des lettres anglaises, des chiffres et des points. Il existe de nombreux encodages de caractères informatiques qui se traduisent par des lettres, des chiffres, des marques d'accent, des signes de ponctuation, des symboles internationaux, etc.
Souvent sur ce sujet, le terme «pages de code» est également utilisé. Ce sont essentiellement des encodages de caractères, tels qu’utilisés par des entreprises spécifiques, souvent avec de légères modifications. Par exemple, la page de code Windows 1252 (anciennement ANSI 1252) est une forme modifiée de la norme ISO-8859-1. Ils sont principalement utilisés en tant que système interne pour faire référence à des codages de caractères standard et modifiés spécifiques aux mêmes systèmes. Au début, l’encodage des caractères n’était pas si important car les ordinateurs ne communiquaient pas entre eux. Avec la montée en puissance d'Internet et la mise en réseau courante, Internet est devenu un élément de plus en plus important de notre vie quotidienne sans même que nous nous en rendions compte.
Beaucoup de types différents
Il existe une multitude de codages de caractères différents et de nombreuses raisons à cela. Le type de codage que vous choisissez d'utiliser dépend de vos besoins. Si vous communiquez en russe, il est logique d'utiliser un codage de caractères qui prend bien en charge le cyrillique. Si vous communiquez en coréen, vous voudrez quelque chose qui représente bien Hangul et Hanja. Si vous êtes un mathématicien, vous voulez quelque chose qui présente bien tous les symboles scientifiques et mathématiques, ainsi que les glyphes grecs et latins. Si vous êtes un farceur, vous bénéficierez peut-être d’un texte à l’envers. Et si vous souhaitez que tous les types de documents soient visualisés par une personne donnée, vous souhaitez un codage assez commun et facilement accessible.
Voyons quelques-uns des plus courants.
- ASCII - Le code American Standard pour l'échange d'informations est l'un des anciens codages de caractères. Initialement conçu à partir de codes télégraphiques, il a évolué avec le temps pour inclure davantage de symboles et des caractères de contrôle non imprimés obsolètes. C’est probablement aussi fondamental que vous pouvez l’obtenir dans les systèmes modernes, car il se limite à l’alphabet latin sans caractères accentués. Son codage 7 bits ne permet que 128 caractères, ce qui explique pourquoi plusieurs variantes non officielles sont utilisées dans le monde.
- ISO-8859 - Le groupe de codages de caractères le plus utilisé par l’Organisation internationale de normalisation est le numéro 8859. Chaque codage spécifique est désigné par un numéro, souvent précédé d’un préfixe descriptif, par ex. ISO-8859-3 (Latin-3), ISO-8859-6 (latin / arabe).C’est un sur-ensemble d’ASCII, ce qui signifie que les 128 premières valeurs du codage sont identiques à l’ASCII. Toutefois, il s’agit de 8 bits et autorise 256 caractères. Il est donc basé sur une large gamme de caractères, chaque codage étant ciblé sur un ensemble de critères différent. Latin-1 comprenait un ensemble de lettres et de symboles accentués, mais a ensuite été remplacé par un ensemble révisé appelé Latin-9, qui comprend des glyphes mis à jour tels que le symbole de l’euro.
- Unicode - Cette norme de codage vise l'universalité. Il comprend actuellement 93 scripts organisés en plusieurs blocs, avec beaucoup d'autres dans les travaux. Unicode fonctionne différemment des autres jeux de caractères, car au lieu de coder directement pour un glyphe, chaque valeur est dirigée vers un «point de code». Ce sont des valeurs hexadécimales qui correspondent à des caractères, mais les glyphes eux-mêmes sont fournis de manière détachée par le programme., tel que votre navigateur Web. Ces points de code sont généralement décrits comme suit: U + 0040 (qui se traduit par «@»). Les codages spécifiques sous la norme Unicode sont UTF-8 et UTF-16. UTF-8 tente de permettre une compatibilité maximale avec ASCII. Il s’agit de 8 bits, mais autorise tous les caractères via un mécanisme de substitution et plusieurs paires de valeurs par caractère. UTF-16 propose une compatibilité ASCII parfaite pour une compatibilité 16 bits plus complète avec la norme.
- ISO-10646 - Il ne s’agit pas d’un codage réel, mais d’un jeu de caractères Unicode normalisé par l’ISO. C’est surtout important car c’est le répertoire de caractères utilisé par HTML. Certaines des fonctions les plus avancées fournies par Unicode, qui permettent le classement et les scripts de droite à gauche ainsi que les scripts de gauche à droite, sont manquantes. Néanmoins, cela fonctionne très bien pour une utilisation sur Internet car il permet l’utilisation d’une grande variété de scripts et permet au navigateur d’interpréter les glyphes. Cela facilite un peu la localisation.
Quel encodage devrais-je utiliser?
ASCII fonctionne pour la plupart des anglophones, mais pas pour beaucoup d’autres. Le plus souvent, vous verrez ISO-8859-1, qui fonctionne pour la plupart des langues d’Europe occidentale. Les autres versions de l'ISO-8859 fonctionnent pour les scripts cyrillique, arabe, grec ou autres. Cependant, si vous souhaitez afficher plusieurs scripts dans le même document ou sur la même page Web, UTF-8 permet une bien meilleure compatibilité. Cela fonctionne également très bien pour les personnes qui utilisent des signes de ponctuation, des symboles mathématiques ou des caractères improvisés, tels que des carrés et des cases à cocher.
Il y a cependant des inconvénients à chaque ensemble. Le caractère ASCII étant limité par des signes de ponctuation, il ne fonctionne pas incroyablement bien pour les modifications typographiques correctes. Avez-vous déjà copié / collé à partir de Word pour avoir une étrange combinaison de glyphes? C’est l’inconvénient d’ISO-8859, ou plus exactement son supposée interopérabilité avec des pages de codes spécifiques à un système d’exploitation (nous regardons YOU, Microsoft!). L’inconvénient majeur d’UTF-8 est le manque de prise en charge appropriée des applications d’édition et de publication. Un autre problème est que les navigateurs n’interprètent souvent pas et affichent simplement la marque d’octet d’un caractère encodé en UTF-8. Cela entraîne l'affichage de glyphes indésirables. Et bien sûr, déclarer un codage et utiliser des caractères d'un autre sans les déclarer / référencer correctement sur une page Web empêche les navigateurs de les afficher correctement et les moteurs de recherche de les indexer correctement.
Pour vos propres documents, manuscrits, etc., vous pouvez utiliser tout ce dont vous avez besoin pour faire le travail. Cependant, en ce qui concerne le Web, il semble que la plupart des gens s’accordent sur l’utilisation d’une version UTF-8 qui n’utilise pas de marque d’octet, mais ce n’est pas tout à fait unanime. Comme vous pouvez le constater, chaque encodage de caractères a son utilisation, son contexte, ses forces et ses faiblesses. En tant qu’utilisateur final, vous n’aurez probablement pas à vous en occuper, mais vous pouvez maintenant faire un pas supplémentaire si vous le souhaitez.