unicode(7) Miscellaneous Information Manual unicode(7)
NOM
Unicode - Jeu de caracteres universel
DESCRIPTION
The international standard ISO/IEC 10646 defines the Universal
Character Set (UCS). UCS contains all characters of all other
character set standards. It also guarantees "round-trip
compatibility"; in other words, conversion tables can be built such
that no information is lost when a string is converted from any other
encoding to UCS and back.
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.
The UCS standard (ISO/IEC 10646) describes a 31-bit character set
architecture consisting of 128 24-bit groups, each divided into 256
16-bit planes made up of 256 8-bit rows with 256 column positions, one
for each character. Part 1 of the standard (ISO/IEC 10646-1) defines
the first 65534 code positions (0x0000 to 0xfffd), which form the Basic
Multilingual Plane (BMP), that is plane 0 in group 0. Part 2 of the
standard (ISO/IEC 10646-2) adds characters to group 0 outside the BMP
in several supplementary planes in the range 0x10000 to 0x10ffff.
There are no plans to add characters beyond 0x10ffff to the standard,
therefore of the entire code space, only a small fraction of group 0
will ever be actually used in the foreseeable future. The BMP contains
all characters found in the commonly used other character sets. The
supplemental planes added by ISO/IEC 10646-2 cover only more exotic
characters for special scientific, dictionary printing, publishing
industry, higher-level protocol and enthusiast needs.
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
As not all systems are expected to support advanced mechanisms like
combining characters, ISO/IEC 10646-1 specifies the following three
implementation levels of 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.
The Unicode 3.0 Standard published by the Unicode Consortium contains
exactly the UCS Basic Multilingual Plane at implementation level 3, as
described in ISO/IEC 10646-1:2000. Unicode 3.1 added the supplemental
planes of ISO/IEC 10646-2. The Unicode standard and technical reports
published by the Unicode Consortium provide much additional information
on the semantics and recommended usages of various characters. They
provide guidelines and algorithms for editing, sorting, comparing,
normalizing, converting, and displaying Unicode strings.
Unicode sous Linux
Sous GNU/Linux, le type C wchar_t est un entier 32 bits signe, et sa
valeur est toujours interpretee par la bibliotheque C comme un code UCS
(dans tous les parametres regionaux), une convention signalee par la
bibliotheque C de GNU pour les applications en definissant la constante
__STDC_ISO_10646__ comme indiquee dans la norme ISO C99.
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 >>).
The nl_langinfo(CODESET) function returns the name of the selected
encoding. Library functions such as wctomb(3) and mbsrtowcs(3) can
be used to transform the internal wchar_t characters and strings into
the system character encoding and back and wcwidth(3) tells how many
positions (0-2) the cursor is advanced by the output of a character.
Zone d'utilisation privee (PUA ou << Private Use Areas >>)
L'intervalle entre 0xe000 et 0xf8ff du plan multilingue de base
(<< Basic Multilingual Plane >>) ne sera jamais assigne a aucun
caractere par la norme et est reserve pour une utilisation privee. Pour
la communaute Linux, cette zone privee a ete divisee en deux.
L'intervalle entre 0xe000 et 0xefff peut etre utilise individuellement
par n'importe quel utilisateur final. L'intervalle s'etendant de 0xf000
a 0xf8ff est reserve a Linux et les extensions y sont coordonnees entre
les divers utilisateurs de Linux. L'enregistrement des caracteres
assignes a la zone Linux est maintenu par LANANA et le registre
lui-meme est disponible dans les sources du noyau Linux sous
Documentation/admin-guide/unicode.rst (ou Documentation/unicode.txt
avant Linux 4.10).
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.
Il s'agit des specifications officielles de l'UCS. Disponible sur
.
- 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.06 28 janvier 2024 unicode(7)