Caractère (informatique)

Un article de Wikipédia, l'encyclopédie libre.
Aller à : navigation, rechercher
Page d'aide sur l'homonymie Pour les articles homonymes, voir Caractère et Char (homonymie).

En informatique, le caractère est à la fois un type de donnée et une notion abstraite. Comme en typographie, un caractère informatique peut représenter une lettre minuscule, une lettre majuscule, un chiffre ou un signe de ponctuation, mais aussi une espace typographique, une tabulation, un retour à la ligne et quelques autres opérations spéciales (sonnerie, effacement, etc.) (notion de Caractère de contrôle).

En informatique, la notion de caractère est une notion qui dans le principe associe à un graphème imprimable un numéro, de manière à dissocier la représentation physique du caractère de sa signification.

Historique[modifier | modifier le code]

Article détaillé : Codage des caractères.

Si le caractère existe depuis environ deux millénaires, sa représentation abstraite sous forme numérique est plus récente. Elle a notamment été développée pour le télégraphe. Cette abstraction permettant d'améliorer l'efficience des communications. L'émergence d'un codage unifié s'est cependant heurté par des différences d'approche conventionnelles et culturelles du concept de caractère.

Considérations techniques[modifier | modifier le code]

Comme les ordinateurs fonctionnent en binaire, un numéro est attribué à chaque caractère. Ce numéro peut être codé avec un certain nombre de bits.

L'article sur le Codage des caractères couvre en détail ces aspects.

8 bits[modifier | modifier le code]

À la fin du vingtième siècle, 8 bits (c'est-à-dire un octet) était assez habituel et permettait de représenter 256 numéros, donc 256 caractères différents.

Cette première limite à 256 numéros a conduit à des normes qui différent dans le jeu de caractères couverts, dans le code attribué à chaque caractère, et dans la représentation binaire du code. Ainsi, le caractère «  » n'existe pas en ASCII, a le numéro 164 en ISO 8859-15, et le numéro 8364 en Unicode.

Cette limite est aujourd'hui couramment dépassée.

Normalisation et standardisation[modifier | modifier le code]

Il existe plusieurs normes de codage de caractères dont, parmi les plus connus, ASCII, ISO 8859, et Unicode. Les normes différent dans le jeu de caractères couverts, dans le code attribué à chaque caractère, et dans la représentation binaire du code. Ainsi, le caractère «  » n'existe pas en ASCII, a le numéro 164 en ISO 8859-15, et le numéro 8364 en Unicode. Sept bits suffisent pour coder tous les caractères de la norme ASCII, mais il en faut 8 (un octet) pour ISO 8859, et plus de 16 pour Unicode. Il existe plusieurs représentations binaires différentes d'Unicode, dont UTF-8 et UTF-16 ; ainsi il faut trois octets pour coder le 8364 de « € » en UTF-8, contre deux octets en UTF-16.

Les différents numéros attribués ne permettent pas seulement d'identifier les caractères de certains alphabets, mais également les variantes liées aux accents, les chiffres, certains symboles, ainsi que des caractères non imprimables, comme les espaces, tabulations et retours à la ligne.

Une suite de caractères informatiques représente un texte brut, avec les espaces et les retours à la ligne, mais sans formatage plus élaboré comme la fonte de caractères, la couleur de texte, la taille des caractères, etc. Les caractères spéciaux (comme l'astérisque et l'esperluette) étaient surtout utilisés comme codes de contrôle par le matériel informatique (terminaux et imprimantes[1]) d'avant les années 1990 qui ne fonctionnait qu'en mode texte. Les caractères d'échappement permettaient de combiner plusieurs codages et étaient le principe de base de l'ISO-2022.

Terminologie[modifier | modifier le code]

La standard Unicode différencie les caractères abstraits et les caractères codés qui sont associés à des codes numériques pour faciliter leur représentation informatique.

Police de caractères[modifier | modifier le code]

Article détaillé : police de caractères.

L'affichage d'un caractère sur un moniteur d'ordinateur ou son impression avec une imprimante nécessite les données spécifiant le dessin exact du caractère, le glyphe. Comme en typographie, un ensemble de glyphes d'une même famille de caractères est une police de caractères.

Type de donnée[modifier | modifier le code]

Article détaillé : chaîne de caractères.

Très souvent les ordinateurs traitent des mots, des phrases, des paragraphes entiers. Il existe un type de données pour représenter une suite de caractères, c'est la chaîne de caractères.

En fait on confond souvent l'unité de code (unité de 8, 16 ou 32 bits) codant une partie du caractère proprement dit et le caractère proprement dit. Cette confusion vient d'un historique d'influence ASCII et anglophone qui confondait le caractère et l'octet.

Propriétés[modifier | modifier le code]

Dans le cas d'Unicode, chaque caractère est doté de propriétés définies par la norme Unicode. Ces propriétés sont consultables avec des bibliothèques logicielles, ce qui permet au logiciel de traiter chaque classe de caractères de manières appropriée, par exemple lors de l'affichage ou du tri des données, qui peuvent devoir prendre en compte le sens d'écriture ou la dépendance de l'ordre lexicographique à la casse.

Notes et références[modifier | modifier le code]

Voir aussi[modifier | modifier le code]