:
Pour l'action de cacher le sens de l'information, voir chiffrement.
----
table Unicode
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 transformer un document en un fouillis incompréhensible. Qui n'a jamais vu une page Web avec des points d'interrogation à la place des accents, ou un courriel avec des =E9 en lieu et place des e accent aigu ?
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.
Evolutions 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 2
7 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.
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'[http://www.unicode.org/reports/tr17/ ''Unicode Technical Report #17] explique cette terminologie en profondeur et fournit davantage d'exemples.
Voir aussi
Page de code
Codage des caractères chinois
Codages de caractères populaires, par pays
Amérique
États-Unis
ISO 646
ASCII ;
Canada
ASCII, standard de compatibilité, sans accent.
ISO 8859-1
Unicode, voir aussi
UTF-8
à compléter
Union européenne
UTF-8, notamment utilisé par http://www.europa.eu/
France
ASCII, standard de compatibilité, sans accent.
CP850 à l'époque du
DOS.
Windows-1252, pour Windows, encore appelé CP1252 ou Ansinew
ISO 8859-1, avant l'euro
ISO 8859-15, après l'euro
Unicode, voir aussi
UTF-8 (reprend tous les caractères des jeux de code précédent).
Grèce
UTF-8
ISO 8859-7, avec ou sans l'euro ?
Roumanie
UTF-8
ISO 8859-1
à compléter
Lituanie
Windows-1257, pour Windows, utilisé par http://www.lrv.lt/
UTF-8, utilisé pour la langue française par http://www.president.lt/fr/
Afrique
Maghreb
UTF-8, utilisé sur http://www.maroc.ma/portailinst/Ar
Windows-1256, utilisé par exemple par http://www.almaghribia.ma/
Asie
Big5 (chinois)
KOI8-R,
KOI8-U (russe)
Shift-JIS (japonais)
Autres codages de caractères populaires
ISO 646
ASCII ;
EBCDIC ;
ISO 8859
ISO 8859-1,
ISO 8859-2,
ISO 8859-3,
ISO 8859-4,
ISO 8859-5,
ISO 8859-6,
ISO 8859-7,
ISO 8859-8,
ISO 8859-9,
ISO 8859-10,
ISO 8859-11,
ISO 8859-13,
ISO 8859-14,
ISO 8859-15,
ISO 8859-16 ;

Jeu de caractères DOS :
CP437,
CP737,
CP850,
CP852,
CP855,
CP857,
CP858,
CP860,
CP861,
CP863,
CP865,
CP866,
CP869 ;

Jeu de caractères Windows :
Windows-1250,
Windows-1251,
Windows-1252,
Windows-1253,
Windows-1254,
Windows-1255,
Windows-1256,
Windows-1257,
Windows-1258 ;
KOI8-R,
KOI8-U ;
ISCII ;
VISCII ;
Big5
HKSCS ;
Guobiao
GB2312,
GB18030 ;
ISO 2022,
Shift-JIS,
EUC ;
Unicode, voir aussi
UTF-8 ;
Liens externes

[http://www.iana.org/assignments/character-sets Jeux de caractères enregistrés par l'Internet Assigned Numbers Authority] (
anglais)

[http://www.unicode.org/unicode/reports/tr17/ Unicode Technical Report #17: Modèle de codage de caractères] (
anglais)
Portail|informatique|écriture
Catégorie:Codage du texte
ast:Códigu de caracteres
cs:Znaková sada
da:Tegnsæt
de:Zeichenkodierung
en:Character encoding
es:Codificación de caracteres
gl:Codificación de caracteres
id:Pengkodean karakter
it:Codifica di caratteri
ja:?????
ko:?? ???
lv:Rakstz?mju kod?jums
nn:Teiknsett
pl:Kod znaku
pt:Codificação de caracteres
ru:????? ????????
sv:Teckenkodning
uk:????????? ????????
zh:????
zh-min-nan:Pian-béCodage_de_caractèresCodage de caractères110474