Accueil | Spécifications MARC 21 | Jeux de caractères | Environnement UCS / Unicode

SPÉCIFICATIONS MARC 21
JEUX DE CARACTÈRES - Environnement UCS / Unicode

Le jeu universel de caractères codés (UCS ou ISO/IEC 10646) et son sous-ensemble Unicode ont été approuvés pour l'échange normal de notices MARC 21 selon des spécifications suicantes. Les restrictions associées à ces spécifications ont pour but de permettre un vaste échange entre les systèmes MARC-8 et UCS/Unicode au cours de la période de transition, d'un environnement de 8 bits à un environnement UCS/Unicode de 16 bits. Les spécifications sont conçues de manière à permettre aux données MARC d'effectuer un mouvement d'aller-retour entre MARC-8 et UCS/Unicode sans subir de pertes. Les caractères permis dans les notices MARC 21 maintenant incluez les composantes qui sont de UCS/Unicode, donc la conversion de nouveau à l'environnement MARC-8 ne sera pas toujours sans perte. Les données de legs créées avant l'établissement d'UCS/Unicode comme codage du MARC 21 maigré


MARC 21 a établi un sous-ensemble du répertoire des caractères UCS/Unicode qui est autorisé en MARC 21 notices actuellement. Ce sous-ensemble se compose des caractères d'UCS qui correspondent au plus de 16 000 caractères définis dans les jeux de caractères MARC-8 séparés pour le MARC 21. Le sous-ensemble du MARC 21 inclut également un nouveau groupe de 630 caractères du répertoire « Syllabaires autochtones canadiennes » (Unified Canadian Aboriginal Syllablics CAS) dans USC/Unicode. C'est ce qu'on appelle le répertoire de caractères MARC 21. Les correspondances entre les codes de caractères MARC-8 (8 et 24 bits) et UCS/Unicode (16 bits) sont démontrées dans les listes des jeux de caractères de la Troisième partie : Tableaux de codes. Les correspondances relatives aux caractères chinois, japonais et coréens se trouvent sur le site Web suivant : www.loc.gov/marc/specifications/specchartables.html Part 3: Code Tables.


L'encodage de caractères Unicode sera effectué selon les règles du système UTF-8 (UCS Transformation Formats-8) qui utilise des bits désignés afin de déterminer si un caractère UCS/Unicode est représenté par un octet (8 bits) ou plusieurs octets. Cet encodage a l'avantage de permettre au sous-jeu de caractères latins de base (ASCII) du répertoire MARC 21 d'être encodé de la même façon que dans le système MARC-8 (avec un octet), préservant ainsi les éléments de structure fondamentaux de la notice MARC 21 tout en permettant au contenu de la notice d'être composé de plusieurs écritures. Nous avons inclus une brève description du système d'encodage UTF-8, mais vous trouverez une description plus complète dans les normes UCS et Unicode.

Le système UTF-8 est une forme d'encodage du répertoire UCS/Unicode de 16 bits. Il représente les caractères d'une manière méthodique, comme 1, 2 ou 3 octets, à l'aide des bits situés à l'extrême gauche de chaque octet afin d'indiquer la manière dont ce dernier doit être interprété.

Bits à l'extrême gaucheSignification des bits à l'extrême gauche pour l'encodage de caractères
  0 caractère composé de un octet
  110 premier octet d'un caractère à deux octets
  1110 premier octet d'un caractère à trois octets
  10 l'octet ne représente pas le premier octet d'un caractère; il s'agit du deuxième ou du troisième octet d'un caractère à plusieurs octets

On utilise la transformation suivante lorsqu'on convertit des caractères UCS/Unicode à 16 bits en UTF-8.

valeurs UCS/Unicodevaleurs UTF-8
Série Forme
0000 à 007F hex00000000  0xxxxxxx0xxxxxxx
0080 à 07FF hex00000xxx  xxyyyyyy110xxxxx  10yyyyyy
0800 à FFFF hexxxxxyyyy  yyzzzzzz1110xxxx  10yyyyyy  10zzzzzz

Nota : le x indique la partie de l'encodage de caractères UCS/Unicode qui sera transférée au premier octet UTF-8, y représente la partie qui sera transférée au second octet UTF-8 et z représente la partie qui sera transférée au troisième octet UTF-8.

Examples :

Caractère encodage UTF-8MARC-8 encodageencodage UCS/Unicodeencodage UTF-8
Virgule (2C hex)00101100 (2C hex)00000000 0010110000101100
h minuscule latin01101000 (68 hex)00000000 0110100001101000
Macron (E5 hex)11100101 (0304 hex)00000011 0000010011001100 10000100
lettre hébraïque tav01111010 (7A hex)00000101 11101010 (05EA hex)11010111 10101010
Partie gauche de la ligature combinatoire11101011 (EB hex)11111110 00100000 (FE20 hex)11101111 10111000 10100000

La description de la transformation des paires de remplacement n'apparaît pas puisqu'elle n'est requise actuellement dans aucun répertoire MARC-8. Voir la documentation sur la norme Unicode 3.0 pour de plus amples renseignements concernant les paires de remplacement.


Dans une notice MARC 21, la position de caractère 9 du guide renferme la valeur a si la notice est encodée à l'aide du système UCS/Unicode. Si des caractères d'UCS/Unicode doivent être codé en utilisant des caractères d'UCS/Unicode. La longueur de l'enregistrement contenue dans les positions 0-4 de Guide est un compte du nombre d'octets dans la notaice, pas caractères. La valeur de la position 9 de Guide ne dépend pas du codage de caractère utilisé. Cette règle applique au MARC 21 notices codées en utilisant le MARC-8 et des jeux de caractères d'UCS/Uniocode.


Le (jeux de caractères présents) 066 n'est pas requis dans les notices MARC 21 codées au moyen de caractères UCS/Unicode puisqu'il n'est pas nécessaire d'identifier des jeux de caractères précis dans l'environnement UCS/Unicode. Pendant la conversion des notices MARC 21 depuis les codages MARC-8 à UCS/Unicode, le zone 066 est supprimé. Au moment de convertir des codages UCS/Unicode à MARC-8, un zone 066 doit être généré en fonction de la présence de caractères se trouvant dans les répertoires de caractères UCS/Unicode. Puisque MARC-8 et la norme ISO 2022 (Structure de code de caractères et techniques d'extension) permettent de désigner des jeux de caractères par des jeux G0 ou G1, la configuration des sous-zones du zone 066 et le contenu des codes de script de ces sous-zones dépendront de l'affectation voulue de jeux MARC-8 à une série particulière de valeurs pour les caractères graphiques.

Le sous-zone $6 (Liaison) est utilisé dans les notices MARC 21 pour établir un lien entre des représentations graphiques de remplacement des mêmes données, pour détecter la présence de scripts précis dans un zone et pour indiquer les zones dans lesquels la directionalité de l'affichage/l'impression des données est de droite à gauche (par exemple pour un script arabe). L'information d'identification du script dans le sous-zone $6 est superflue dans les notices MARC 21 codées à l'aide de caractères UCS/Unicode puisque l'ensemble UCS/Unicode est en soi conçu comme un jeu de caractères multiscripts. Il n'est donc pas nécessaire d'inclure cette information dans le sous-zone $6 au moment de convertir les codages MARC-8 aux codages correspondants UCS/Unicode. L'information sur les liens et la directionalité peut être utile peu importe le codage utilisé et peut être conservée pendant la conversion des caractères.


Le système MARC 21 utilise la norme UCS/Unicode. Le contenu d'une zone d'une notice MARC 21 doit être conforme aux conventions Unicode. Par exemple, UCS/Unicode exige que les caractères dans la calsse de combinsaison, ceci inclut les marques diacritiques séparément codées utilisées avec les lettres basses du latin et d'autres écritures, soit codé après le lettre basses qu'elles modifient. C'est l'opposé de la règle MARC-8 pour l'ordre de codage. Pendant la conversion de MARC-8 en UCS/Uniocide, le soin doit être pris pour manipuler le positionnement de combiner des caractères pour répondre aux exigences du codage de cible. Les règles d'UCS/Unicode doivent être suivies dans le codage des données bidirectionnelles. Des données sont entregistrées dans l'ordre logique, du premier caractère au durent, indépendamment de l'orientation de la zone, et sans des exceptions.

On a utilisé les valeurs des « Private Use Area » (PUA) pour un petit nombre de caractères chinois, japonais et coréens afin de préserver leur intégrité lorsqu'on les applique au code de caractères de l'Asie orientale « East Asian Character Code » (EACC) utilisé dans l'environnement MARC-8. Le travail a été commencé pour assigner à ces caractères des valeurs de non-PUA dans UCS/Unicode dans la mesure du possible, mais pour beaucoup, ce n'est pas possible (par exemple, quand le caractère d'EACC est déjà couvert par un caractère d'UCS/Unicode dans le répertoire unifié de Han). Les MARC-8 aux tracés d'UCS/Unicode fournissent des valeurs alternataived de non-PUA pour la plupart des caractères d'EACC au commencement tracés au PUA.



MARC 21 en version anglaise sur le site de la Bibliothèque du Congrès