Charset

Charset

Codage de caractères

Pour l'action de cacher le sens de l'information, voir chiffrement.

Unicode
Jeux de caractères
Équivalences normalisées
  • NFC (précomposée)
  • NFD (décomposée)
  • NFKC (compatibilité)
  • NFKD (compatibilité)
Propriétés et algorithmes
Codage
Autres transformations
Applications d'échanges de données

En télécommunications et en informatique, un codage de caractères est un code qui associe un jeu de caractères d'une langue naturelle (comme un alphabet ou un syllabaire) avec un jeu de quelque chose d'autre, comme par exemple des nombres ou des signaux électriques. Par exemple, le code Morse (qui associe l'alphabet latin à une série de pressions longues et de pressions courtes sur le manipulateur morse du télégraphe) et le code ASCII (qui code les lettres, les chiffres et d'autres symboles comme des entiers codés sur 7 bits) sont des codages de caractères.

Il est indispensable, pour l'échange d'information sur l'Internet, par exemple, de préciser le codage utilisé. Ne pas le faire peut rendre un document difficilement lisible (remplacement des lettres accentuées par d'autres suites de caractères, ...).

Dans certains contextes (en particulier dans les communications et dans l'utilisation de données informatiques), il est important de distinguer un répertoire de caractères, qui est un jeu complet de caractères abstraits qu'un système supporte, et un jeu de caractères codés ou codage de caractères qui spécifie comment représenter un caractère en utilisant un entier.

Sommaire

Différence entre codage de caractères et forme de codage

Le terme codage de caractères est parfois confondu avec la façon dont les caractères sont représentés par une certaine séquence de bits, ce qui implique une forme de codage où le code entier est converti en plusieurs codets (c'est-à-dire des valeurs codées) entiers qui facilitent le stockage dans un système qui gère les données par groupe de bits de taille fixe. Par exemple, les entiers plus grands que 65535 ne peuvent pas être représentés sur 16 bits, c'est pourquoi le codage UTF-16 représente ces grands entiers comme des couples d'entiers inférieurs à 65536 et qui ne sont pas associés à des caractères (par exemple, 10000 - en hexadécimal - devient D800 DC00). Ce plan de codage convertit alors les valeurs de ces codes en une suite de bits et ce en prenant garde à un certain nombre de contraintes comme la dépendance vis-à-vis de la plateforme sur l'ordre final des octets (par exemple, D800 DC00 devient 00 D8 00 DC sur une architecture Intel x86). Un jeu de caractères ou page de code abrège ce procédé en associant directement aux caractères abstraits des séquences de bits spécifiques. L'Unicode Technical Report #17 explique cette terminologie en profondeur et fournit davantage d'exemples.

Ancêtres de l'ASCII

Naissance de l'ASCII

Le standard ASCII (American Standard Code for Information Interchange) comporte 128 codes (7 bits). Quelques valeurs courantes :

  • ASCII 10 : Saut de ligne abrégé « LF » pour Line Feed
  • ASCII 32 : Espace
  • ASCII 65 : Lettre A majuscule

ASCII est standardisé en 1968 sous le nom « ANSI X3.4-1968 ». Puis les mises à jour suivent : ANSI X3.4-1977 et finalement ANSI X3.4-1986. On peut enfin le rencontrer sous le nom « US-ASCII ». Il existe en fait des dizaines de variantes de l'ASCII, mais c'est essentiellement la signification des codes de contrôles (caractères non imprimables) qui change.

À l'heure d'Unicode, on utilise la norme ISO 646 pour désigner ASCII.

Évolutions de l'ASCII vers l'Unicode

Le premier codage largement répandu fut l'ASCII. Pour des raisons historiques (les grandes sociétés associées pour mettre au point l'ASCII étaient américaines) et techniques (7 bits disponibles seulement pour coder un caractère), ce codage ne prenait en compte que 27 soit 128 caractères. De ce fait, l'ASCII ne comporte pas les caractères accentués, les cédilles, etc. utilisés par des langues comme le français. Ceci devint vite inadapté et un certain nombre de méthodes ad-hoc furent utilisées pour l'étendre.

L'ISO a donc défini de nouvelles normes, ISO 8859-1, ISO 8859-2, etc. jusqu'à ISO 8859-15. Ces jeux de caractères permettent de coder la plupart des langues occidentales. Le français utilise le plus souvent ISO 8859-1, aussi nommé latin1, ou ISO 8859-15 (latin9), qui a l'avantage de contenir des caractères comme le « œ » ou le «  ». Selon les langues utilisées, on peut trouver des centaines d'autres codages (EUC-JP est par exemple bien adapté au Japonais).

Le besoin de supporter de multiples écritures, incluant celles de la famille CJC, demandait un nombre nettement plus élevé de caractères supportés et nécessitait une approche systématique du codage de caractère utilisé, plutôt que les méthodes ad-hoc précédentes. Le codage Unicode a pour ambition d'être un surensemble de tous les autres, et est souvent représenté en UTF-8 ou en UTF-16.

Le répertoire complet d'Unicode contient près de 100 000 caractères, chacun possédant un unique code entier compris entre 0 et hexadécimal 10FFFF (soit un peu plus de 1,1 million - il existe donc des entiers auxquels aucun caractère n'est associé). Deux autres répertoires fréquemment utilisés, le code ASCII et l'ISO 8859-1, sont respectivement identiques aux 128 et 256 premiers caractères d'Unicode.

Codages de caractères populaires, par pays

Amérique

États-Unis

Canada

à compléter

Union européenne

France

Grèce

  • UTF-8
  • ISO 8859-7, avec ou sans l'euro ?

Roumanie

à compléter

Lituanie

Afrique

Maghreb

Asie

Autres codages de caractères populaires

Voir aussi

Articles connexes

Liens externes

  • Portail de l’informatique Portail de l’informatique
  • Portail de l’écriture Portail de l’écriture
Ce document provient de « Codage de caract%C3%A8res ».

Wikimedia Foundation. 2010.

Contenu soumis à la licence CC-BY-SA. Source : Article Charset de Wikipédia en français (auteurs)

Игры ⚽ Поможем решить контрольную работу

Regardez d'autres dictionnaires:

  • Charset — Unter Zeichenkodierung (englisch Character encoding, kurz Encoding) versteht man das Darstellen eines Schriftzeichens, also eines Buchstabens, einer Ziffer oder eines Symbols, mittels eines im Aufbau einfacheren oder für die betreffende Anwendung …   Deutsch Wikipedia

  • Charset detection — Character encoding detection, charset detection, or code page detection is the process of heuristically guessing the character encoding of a series of bytes that represent text. This algorithm usually involves statistical analysis of byte… …   Wikipedia

  • charset — noun Short form of character set …   Wiktionary

  • charset — ● ►en n. m. ►CHAR Version anglaise de jeu de caractères …   Dictionnaire d'informatique francophone

  • default charset — numatytoji koduotė statusas T sritis informatika apibrėžtis ↑Koduotė, parenkama tekstui rodyti, kai kartu su juo nėra pateiktos informacijos apie jo koduotę. Pavyzdžiui, kai gaunamas laiškas arba tinklalapis, kurio antraštėje nenurodyta koduotė.… …   Enciklopedinis kompiuterijos žodynas

  • Character encodings in HTML — For a list of character entity references, see List of XML and HTML character entity references. HTML HTML and HTML5 Dynamic HTML XHTML XHTML Mobile Profile and C HTML Canvas element Character encodings Document Object Model Font family HTML… …   Wikipedia

  • mkisofs — Тип Утилиты файловых систем Операционная система UNIX‐подобные Лицензия GNU GPL Сайт cdrecord.berlios.de/old/private/mkisofs.html mkisofs  утилита командной строки из пак …   Википедия

  • New I/O — New I/O, usually called NIO, is a collection of Java programming language APIs that offer features for intensive I/O operations. It was introduced with the J2SE 1.4 release of Java by Sun Microsystems to complement an existing standard I/O. NIO… …   Wikipedia

  • Java Platform, Standard Edition — or Java SE is a widely used platform for programming in the Java language. It is the Java Platform used to deploy portable applications for general use.In practical terms, Java SE consists of a virtual machine, which must be used to run Java… …   Wikipedia

  • Unicode and e-mail — Many E mail clients now offer some support for Unicode in E mail bodies. Most do not send in Unicode by default, but as time passes, more and more systems are likely to be set up with fonts capable of displaying the full range of Unicode… …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”