unicode(7) Miscellaneous Information Manual unicode(7)
NOM
Unicode - Jeu de caracteres universel
DESCRIPTION
La norme internationale ISO/IEC 10646 definit le jeu de caracteres
universel (UCS). UCS contient tous les caracteres de tous les autres
normes de jeux de caracteres. Il garantit egalement une
<< compatibilite circulaire >>, ce qui signifie que les tables de
conversions peuvent etre construites de maniere a ne perdre aucune
information quand une chaine de caracteres est convertie dans un autre
encodage, puis reconvertie en sens inverse.
UCS contient les caracteres necessaires pour representer presque toutes
les langues connues. Il inclut non seulement les alphabets latin, grec,
cyrillique, hebreu, arabe, armenien et georgien, mais egalement les
ideogrammes chinois, japonais, sino-coreens et les ecritures :
hiragana, katakana, hangul, devanagari, bengali, gourmoukhi,
goudjarati, oriya, tamoul, telougou, kannara, malayalam, thai, laotien,
khmer, bopomofo, tibetain, runes, ethiopien, syllabaires canadiens,
cheroki, mongol, ogam, birman, cingalais, thana, yi, et d'autres. Pour
les ecritures qui n'ont pas encore ete integrees, des recherches sont
en cours pour optimiser l'encodage et elles seront probablement
ajoutees. Cela inclut non seulement des hieroglyphes et des langues
indo-europeennes historiques, mais aussi des ecritures artistiques
comme les tengwar de Feanor, les cirth ou le klingon. UCS contient
egalement un grand nombre de symboles graphiques, typographiques,
mathematiques et scientifiques comme ceux fournis par TeX, PostScript,
APL, MS-DOS, MS-Windows, Macintosh, les polices OCR et par de nombreux
traitements de texte et systemes d'edition, et de plus en plus sont
ajoutes.
La norme UCS (ISO/IEC 10646) decrit un jeu de caracteres sur 31 bits,
constitue de 128 groupes sur 24 bits, chacun d'eux divises en 256 plans
sur 16 bits, composes de 256 rangees de 8 bits, avec 256 positions en
colonne contenant chacune un caractere. La premiere partie de la norme
(ISO/IEC 10646-1) definit les 65 534 premiers codes (0x0000 a 0xFFFD)
qui forment le plan multilingue de base (PMB), c'est-a-dire le plan 0
du groupe 0. La partie 2 de la norme (ISO/IEC 10646-2) ajoute des
caracteres au groupe 0 en dehors du PMB, dans plusieurs plans
supplementaires de l'espace 0x10000 a 0x10ffff. On ne prevoit pas
d'ajouter a la norme des caracteres au-dela de 0x10ffff. Ainsi sur
l'ensemble de l'espace disponible, une faible fraction du groupe 0 ne
sera effectivement utilisee dans un futur proche. Le PMB contient tous
les caracteres des jeux habituels. Les plans supplementaires ajoutes
par ISO/IEC 10646-2 ne contiennent que des caracteres exotiques pour
des notations scientifiques speciales, des impressions de
dictionnaires, l'industrie de l'impression, des protocoles de plus haut
niveau et les besoins de quelques enthousiastes.
La representation des caracteres UCS sur des mots de 2 octets est
appelee UCS-2 (seulement pour les caracteres du BMP), alors que UCS-4
est la representation des caracteres par un mot de 4 octets. De plus,
il existe deux formes d'encodage : UTF-8 pour la retrocompatibilite
avec les logiciels traitant l'ASCII et UTF-16 pour la gestion
retrocompatible des caracteres non PMB jusqu'a 0x10ffff par des
logiciels UCS-2.
The UCS characters 0x0000 to 0x007f are identical to those of the
classic US-ASCII character set and the characters in the range 0x0000
to 0x00ff are identical to those in ISO/IEC 8859-1 (Latin-1).
Caracteres composes
Quelques codes de l'UCS ont ete assignes a des caracteres composes. Ils
sont semblables aux touches mortes d'accents sur les machines a ecrire.
Un caractere compose ajoute simplement un accent sur le caractere
precedent. Les caracteres accentues les plus importants ont leur propre
code dans l'UCS. Cependant, le mecanisme des caracteres composes permet
d'ajouter des accents ou des signes diacritiques sur n'importe quel
caractere de base. Les caracteres composes suivent toujours le
caractere qu'ils modifient. Par exemple, le caractere << A >> (lettre
majuscule latine A accent grave) peut etre represente soit par le code
UCS precompose 0x00C0, soit par la combinaison d'un A majuscule normal,
suivi d'un << diacritique accent grave >>, 0x0041 0x0308.
Les caracteres composes sont essentiels par exemple pour l'encodage de
l'ecriture thaie ou pour les notations mathematiques et l'alphabet
phonetique international.
Niveaux d'implementation
Comme tous les systemes ne sont pas censes gerer les mecanismes avances
comme les caracteres composes, ISO/IEC 10646-1 specifie les trois
niveaux d'implementation suivants pour l'UCS :
Niveau 1 Les caracteres composes et les caracteres jamos hangul (un
encodage special de l'ecriture coreenne, ou les glyphes de
syllabes hangul sont encodes par 2 ou 3 codes de voyelle ou
consonne) ne sont pas pris en charge.
Niveau 2 Outre le niveau 1, les caracteres composes sont maintenant
permis pour certaines langues ou ils sont essentiels (par
exemple, le thai, le laotien, l'hebreu, l'arabe, le devanagari
ou le malayalam).
Niveau 3 Tous les caracteres UCS sont geres.
La norme Unicode 3.0 publiee par le Consortium Unicode contient
exactement le plan multilingue de base UCS au niveau 3 de
l'implementation, comme decrit dans la norme ISO/IEC 10646-1:2000.
Unicode 3.1 ajoute les plans supplementaires de l'ISO/IEC 10646-2. La
norme Unicode et les rapports techniques publies par le Consortium
Unicode fournissent beaucoup de renseignements supplementaires sur la
semantique et les recommandations d'utilisation de nombreux caracteres.
Elles fournissent des guides et des algorithmes pour editer, trier,
comparer, normaliser, convertir et afficher des chaines Unicode.
Unicode sous Linux
Under GNU+Linux, the C type wchar_t is a signed 32-bit integer type.
Its values are always interpreted by the C library as UCS code values
(in all locales), a convention that is signaled by the GNU C library to
applications by defining the constant __STDC_ISO_10646__ as specified
in the ISO C99 standard.
L'UCS/Unicode peut etre employe comme l'ASCII dans les flux
d'entree-sortie, les communications avec les terminaux, les fichiers
textes, les noms de fichier et les variables d'environnement dans un
encodage multioctet UTF-8 compatible ASCII. Pour signaler l'utilisation
de l'UTF-8 comme encodage pour toutes les applications, des parametres
regionaux (locale) adequats doivent etre configures dans les variables
d'environnement (par exemple, << LANG=fr_FR.UTF-8 >>).
La fonction nl_langinfo(CODESET) renvoie le nom de l'encodage
selectionne. Les fonctions de bibliotheque comme wctomb(3) et
mbsrtowcs(3) peuvent etre utilisees pour transformer les caracteres
internes wchar_t et les chaines dans le jeu de caracteres du systeme et
inversement. La fonction wcwidth(3) indique de combien de positions
(0-2) le curseur a ete avance en affichant un caractere.
Zone d'utilisation privee (PUA ou << Private Use Areas >>)
In the Basic Multilingual Plane, the range 0xe000 to 0xf8ff will never
be assigned to any characters by the standard and is reserved for
private usage. For the Linux community, this private area has been
subdivided further into the range 0xe000 to 0xefff which can be used
individually by any end-user and the Linux zone in the range 0xf000 to
0xf8ff where extensions are coordinated among all Linux users. The
registry of the characters assigned to the Linux zone is maintained by
LANANA and the registry itself is Documentation/admin-guide/unicode.rst
in the Linux kernel sources.
Deux autres plans sont reserves a un usage prive. Le plan 15 (zone
d'utilisation privee supplementaire PUA-A, intervalle 0xf0000-0xffffd)
et le plan 16 (zone d'utilisation privee PUA-B, intervalle
0x100000-0x10fffd).
Litterature
- Information technology -- Universal Multiple-Octet Coded Character
Set (UCS) -- Part 1: Architecture and Basic Multilingual Plane.
International Standard ISO/IEC 10646-1, International Organization
for Standardization, Geneva, 2000.
This is the official specification of UCS. Available from .
- The Unicode Standard, Version 3.0. The Unicode Consortium,
Addison-Wesley, Reading, MA, 2000, ISBN 0-201-61633-5.
- S. Harbison, G. Steele. C : A Reference Manual. Quatrieme edition,
Prentice Hall, Englewood Cliffs, 1995, ISBN 0-13-326224-3.
Un bon livre de reference sur le langage de programmation C. La
quatrieme edition couvre maintenant l'amendement 1 de 1994 a la
norme ISO C90, qui ajoute un grand nombre de fonctions de
bibliotheque C pour manipuler les jeux de caracteres larges et
multioctets, mais ne couvre pas encore l'ISO C99, qui ameliore
encore plus la gestion des caracteres larges et multioctets.
- Unicode Technical Reports.
- Markus Kuhn : UTF-8 and Unicode FAQ for UNIX/Linux.
- Bruno Haible : Unicode HOWTO.
VOIR AUSSI
locale(1), setlocale(3), charsets(7), utf-8(7)
TRADUCTION
La traduction francaise de cette page de manuel a ete creee par
Christophe Blaess , Stephan Rafin
, Thierry Vignaud ,
Francois Micaux, Alain Portal , Jean-Philippe
Guerard , Jean-Luc Coulon (f5ibh) , Julien Cristau , Thomas
Huriaux , Nicolas Francois
, Florentin Duneau
, Simon Paillard , Denis Barbier , David Prevot
et Gregoire Scano
Cette traduction est une documentation libre ; veuillez vous reporter a
la GNU General Public License version 3
concernant les conditions
de copie et de distribution. Il n'y a aucune RESPONSABILITE LEGALE.
Si vous decouvrez un bogue dans la traduction de cette page de manuel,
veuillez envoyer un message a .
Pages du manuel de Linux 6.18 11 fevrier 2026 unicode(7)