- Iso 646
-
ISO 646
Unicode Jeux de caractères - UCS (ISO/CEI 10646)
- ISO 646, ASCII
- ISO 8859-1
- WGL4
- UniHan
Équivalences normalisées Propriétés et algorithmes - ISO 15924
- Casse
- Ordonnancement UCA
- Texte bi-directionnel
Codage Autres transformations Applications d'échanges de données L'ISO/CEI 646 (ICS n°35.040) est une norme ISO qui depuis 1972 spécifie des codes de caractères graphiques codés sur 7 bits à partir desquels plusieurs normes nationales sont dérivées. La plus connue d'entre elles est la variante américaine, communément (mais improprement) désignée « ASCII ». L'ISO 646 est également désigné comme l'« Alphabet international de référence n°5 » (AIR5), « Alphabet international n°5 » (AI5) ou encore (en anglais) « International Alphabet No. 5 » (IA5).
Sommaire
Généralités
Puisque que la portion d’ISO/CEI 646 partagée par tous les pays n’est constituée que des lettres de l’alphabet latin de base suffisant pour l’anglais moderne, les autres langues utilisant un alphabet latin plus étendu ont eu besoin de créer des extensions et des variantes nationales de l’ISO 646 dans le but d'utiliser les lettres spécifiques à leurs langues.
À l’époque, la reconnaissance universelle d’un octet de 8 bit n’existait pas ; aussi, les jeux de caractères nationaux créent à travers cette contrainte de 128 caractères (27 = 128) ne purent pas toujours inclure tous les caractères ASCII qui n’apparaissaient pas dans les variantes nationales.
L’ISO 646 normalise donc les variantes nationales autorisées pour les jeux européens à caractères latins, permettant de créer un jeu de 94 caractères graphiques (numérotés de 33 à 126) comprenant 80 caractères invariants entre toutes les versions nationales, et 12 positions utilisables pour les caractères (alphabétiques ou non) nécessaires à une langue ou un groupe de langues. Il fixe également un alphabet international de référence (IRV) servant de guide (non impératif) pour le placement des 1 à 12 caractères sélectionnés sur les 12 positions variantes.
Les jeux ISO 646 incomplets sont autorisés (toutefois la plupart des jeux approuvés et inscrits dans le registre ISO-IR complètent les positions libres par les caractères du jeu de référence (similaire au jeu retenu pour la norme américaine, mais restreint aux seules 94 positions graphiques de la plage de code G0 définie par la norme de codage ISO 2022 avec laquelle la norme ISO 646 est totalement compatible).
Plus tard, lorsque les jeux de caractères composés de 8 bits devinrent plus fréquents, la norme ISO 8859 fut alors préférée à ces variantes nationales du jeu latin codé sur 7 bits, en imposant le choix de la variante 'ISO 646/IRV (c’est-à-dire le jeu graphique à 94 éléments enregistré sous le numéro ISO-IR/002) improprement appelée ASCII (qui désigne en fait le jeu de caractères latins américains codé sur 7 bits, complété du jeu de caractères de contrôles ISO 646/C0 (ISO-IR/001) pour les 32 premières positions). Toutefois, le développement de jeux de caractères plus étendu (sur 8 bits, et parfois avec des plans de codes multiples pour chaque bloc de 32, 94 ou 96 codes) s’est fondé sur la norme ISO 2022 permettant de les rendre compatibles avec un codage sur 7 bits, grâce à un système de séquences d’échappement et certains caractères de contrôle normalisés.
Les normes ISO 646 et ISO 8859 sont en principe figées depuis juin 2004 (la normalisation internationale de nouveaux jeux à 7 et 8 bits est désormais arrêtée, le groupe de travail de l’ISO ayant suspendu ses activités) et sont destinées à être remplacées par la nouvelle norme plus complète et plus précise ISO/CEI 10646 (liée à Unicode) dont l’interprétation et l’interopérabilité sont bien meilleures, cette dernière norme permettant de représenter tous les autres jeux de caractères normalisés existants et d’affiner le codage effectif final tout en préservant la sémantique du texte codé et en améliorant sa typographie. L’ISO/CEI 10646 a gardé la compatibilité ascendante avec la vieillissante norme ISO 646.
Caractères invariants
Les positions invariantes des jeux de caractères graphiques latins compatibles avec l’ISO 646 sont les suivantes :
Codes Car. Nom binaire déc. hexa. 010 0000 32 20 espace 010 0001 33 21 ! point d’exclamation 010 0010 34 22 " guillemet anglais 010 0101 37 25 % signe pourcent 010 0110 38 26 & esperluette 010 0111 39 27 ' apostrophe 010 1000 40 28 ( parenthèse ouvrante 010 1001 41 29 ) parenthèse fermante 010 1010 42 2A * astérisque 010 1011 43 2B + signe plus 010 1100 44 2C , virgule 010 1101 45 2D - trait d’union-signe moins 010 1110 46 2E . point 010 1111 47 2F / barre oblique Codes Car. Nom binaire déc. hexa. 011 0000 48 30 0 chiffre zéro 011 0001 49 31 1 chiffre un 011 0010 50 32 2 chiffre deux 011 0011 51 33 3 chiffre trois 011 0100 52 34 4 chiffre quatre 011 0101 53 35 5 chiffre cinq 011 0110 54 36 6 chiffre six 011 0111 55 37 7 chiffre sept 011 1000 56 38 8 chiffre huit 011 1001 57 39 9 chiffre neuf 011 1010 58 3A : deux-points 011 1011 59 3B ; point-virgule 011 1100 60 3C < signe inférieur à 011 1101 61 3D = signe égal à 011 1110 62 3E > signe supérieur à 011 1111 63 3F ? point d’interrogation Codes Car. Nom binaire déc. hexa. 100 0001 65 41 A A (lettre) latine capitale A 100 0010 66 42 B lettre latine capitale B 100 0011 67 43 C lettre latine capitale C 100 0100 68 44 D lettre latine capitale D 100 0101 69 45 E lettre latine capitale E 100 0110 70 46 F lettre latine capitale F 100 0111 71 47 G lettre latine capitale G 100 1000 72 48 H lettre latine capitale H 100 1001 73 49 I lettre latine capitale I 100 1010 74 4A J lettre latine capitale J 100 1011 75 4B K lettre latine capitale K 100 1100 76 4C L lettre latine capitale L 100 1101 77 4D M lettre latine capitale M 100 1110 78 4E N lettre latine capitale N 100 1111 79 4F O lettre latine capitale O 101 0000 80 50 P lettre latine capitale P 101 0001 81 51 Q lettre latine capitale Q 101 0010 82 52 R lettre latine capitale R 101 0011 83 53 S lettre latine capitale S 101 0100 84 54 T lettre latine capitale T 101 0101 85 55 U lettre latine capitale U 101 0110 86 56 V lettre latine capitale V 101 0111 87 57 W lettre latine capitale W 101 1000 88 58 X lettre latine capitale X 101 1001 89 59 Y lettre latine capitale Y 101 1010 90 5A Z lettre latine capitale Z 101 1111 95 5F _ tiret bas Codes Car. Nom binaire déc. hexa. 110 0001 97 61 a lettre latine minuscule a 110 0010 98 62 b lettre latine minuscule b 110 0011 99 63 c lettre latine minuscule c 110 0100 100 64 d lettre latine minuscule d 110 0101 101 65 e lettre latine minuscule e 110 0110 102 66 f lettre latine minuscule f 110 0111 103 67 g lettre latine minuscule g 110 1000 104 68 h lettre latine minuscule h 110 1001 105 69 i lettre latine minuscule i 110 1010 106 6A j lettre latine minuscule j 110 1011 107 6B k lettre latine minuscule k 110 1100 108 6C l lettre latine minuscule l 110 1101 109 6D m lettre latine minuscule m 110 1110 110 6E n lettre latine minuscule n 110 1111 111 6F o lettre latine minuscule o 111 0000 112 70 p lettre latine minuscule p 111 0001 113 71 q lettre latine minuscule q 111 0010 114 72 r lettre latine minuscule r 111 0011 115 73 s lettre latine minuscule s 111 0100 116 74 t lettre latine minuscule t 111 0101 117 75 u lettre latine minuscule u 111 0110 118 76 v lettre latine minuscule v 111 0111 119 77 w lettre latine minuscule w 111 1000 120 78 x lettre latine minuscule x 111 1001 121 79 y lettre latine minuscule y 111 1010 122 7A z lettre latine minuscule z Variantes nationales de l’ISO 646
De nombreuses variantes de l’ISO 646 ont été normalisées par des organismes nationaux officiels, et la plupart ont alors été déclarées dans le registre international (ISO-IR) des jeux de caractères à 7 et 8 bits. Cependant ce registre est maintenant clos depuis juin 2004, ses membres ayant décidé de concentrer leurs efforts au maintien de la norme universelle ISO/CEI 10646.
D’autres variantes ont été développées de façon initialement propriétaire pour couvrir les besoins de certaines langues, avant d’être enregistrées publiquement avec l’appui d’organismes de normalisation officiels (notamment l’ECMA au plan européen, afin de stabiliser les tables de conversions). Il existe cependant de nombreuses variantes propriétaires n’ayant pas reçu cet appui et qui donc n'ont pas été enregistrées formellement par l’ISO-IR (et dans l’immédiat, ne le seront sans doute jamais, leur obsolescence étant très accélérée du fait de l’imprécision de leur définition et de l’obsolescence parallèle des systèmes qui les supportaient).
Parmi les normes nationales enregistrées pour les variantes de l’ISO/CEI 646 on trouve :
Code ISO-
IRNorme Utilisation CA-1 121 CSA Z243.4-1985 Canada (alternative no.1, avec “î”)
(français classique)CA-2 122 CSA Z243.4-1985 Canada (alternative no.2, avec “É”)
(français orthographe réformée)CN 057 GB/T 1988-80 Chine (latin basique) CU 151 NC 99-10:81 Cuba (espagnol) DE 021 DIN 66083 Allemagne (allemand) DK – DS 2089 Danemark (danois) FR 069 AFNOR NF Z 62010-1982 France (français) FR-0 025 AFNOR NF Z 62010-1973 France (obsolète depuis avril 1985) GB 004 BSI 4730 Royaume-Uni (anglais) GR 088 HOS ELOT Grèce (obsolète) HU 086 MSZ 7795/3 Hongrie IE 207 NSAI 433:1996 Irlande (gaélique irlandais) Code ISO-
IRNorme Utilisation INV * ISO 646:1983 International (jeu graphique invariant) IRV 002 ISO 646:1983 International (jeu graphique de référence) JA 014 JIS C 6220-1969 Japon (romaji) JA-O 092 JIS C 6229-1984 Japon (OCR-B) MT — Malte (maltais) NO 060 NS 4551 version 1 Norvège NO-2 061 NS 4551 version 2 Norvège (obsolète depuis juin 1987) SE 010 SEN 85 02 00 annexe B Suède (suédois de base) SE-C 011 SEN 85 02 00 annexe C Suède (suédois étendu pour les noms) T.61 102 ITU/CCITT Recommandation T.61 International (Teletex) US 006 ANSI X3.4-1968 États-Unis (ASCII) YU 141 JUS I.B1.002 ex-Fédération de Yougoslave (croate, slovène, serbe latin) Parmi les normes initialement propriétaires finalement approuvées au plan international pour l’interopérabilité grace au support d'un organisme de normalisation, on trouve :
Code ISO-
IRNormalisation Origine Utilisation ES 085 ECMA IBM Espagne (basque, castillan, catalan, galicien) esp 017 ECMA Olivetti Espagnol (international) DK-SE 009-1 SSK NATS, jeu principal Suède et Danemark (texte journalistique) FI-SE 008-1 SSK NATS, jeu principal Suède et Finlande (texte journalistique) Code ISO-
IRNormalisation Origine Utilisation ita 015 ECMA Olivetti Italien PT 084 ECMA IBM Portugal (portugais, espagnol) por 016 ECMA Olivetti Portugais (international) Dans les tables ci-dessus, la colonne code indique la correspondance avec ceux utilisés comme libellés abrégés de colonnes pour repérer les caractères variants de la section suivante ; ces codes ne sont pas normalisés (seuls les numéros d’enregistrement ISO-IR le sont).
Codes de caractères variants
Les caractères affichés sur fond bleu ou rouge dans le tableau ci-dessous sont ceux recommandés, mais la variante ASCII (affichée sur fond blanc dans la même ligne, notamment dans la colonne US) est souvent utilisée à la place (quand ils sont utilisés isolément). C’est le cas particulièrement pour les caractères dits invariants de l’ISO 646, c’est-à-dire les 26 lettres latines basiques (en capitales ou minuscules), les 10 chiffres arabo-européens et les 20 symboles ou ponctuations suivants:
! " % & ' ( ) * + , - . / : ; < = > ? _
qui ne sont pas modifiés dans les jeux de caractères totalement compatibles avec l’ISO 646 (mais peuvent avoir des variantes graphiques plus proches d’autres caractères considérés comme distincts dans ISO/IEC 10646 et Unicode.)
Aussi, parmi les 94 positions graphiques de l’ISO 646 (codées de 33 à 126 en décimal), seules 12 positions sont dites variantes et correspondent aux caractères graphiques suivants de la variante américaine de l’ISO 646 (alias ASCII) :
# $ @ [ \ ] ^ ` { | } ~
Les changements spécifiques à certaines de ces variantes sont indiqués dans la table suivante avec un fond coloré rouge ou bleu quand le caractère assigné au code est différent de celui assigné dans l’ASCII (US) ; les cellules vides sur fond gris indiquent des positions invalides non utilisées dans le jeu de caractères normalisé correspondant :
Codes Caractères pour chaque jeu compatible ISO 646 binaire décimal hexa INV US T.61 JA JA-O CN IRV GB DK NO NO-2 SE SE-C DE HU FR FR-0 CA-1 CA-2 IE ita por PT esp ES CU MT YU 010 0010 34 22 " " " " " " " " " " " " " " " " " " " " " " " " " " " " 010 0011 35 23 # # # # # # £ # # § # # # # £ £ # # £ £ # £ # # # # # 010 0100 36 24 $ ¤ $ $ ¥ $ $ $ $ $ ¤ ¤ $ ¤ $ $ $ $ $ $ $ $ $ $ ¤ $ $ 010 1001 39 27 ' ' ' ' ' ' ’ ’ ’ ’ ’ ’ ’ ’ ’ ’ ’ ’ ’ ’ ’ ’ ’ ’ ’ ’ ’ ’ 010 1100 44 2C , , , , , , , , , , , , , , , , , , , , , , , , , , , , 010 1101 45 2D - - - - - - - - - - - - - - - - - - - - - - - - - - - - 010 1111 47 2F / / / / / / / / / / / / / / / / / / / / / / / / / / / / 100 0000 64 40 @ @ @ @ @ @ @ @ @ @ @ É § Á à à à à Ó § § ´ § • @ @ Ž 101 1011 91 5B [ [ [ [ [ [ [ Æ Æ Æ Ä Ä Ä É ° ° â â É ° Ã Ã ¡ ¡ ¡ ġ Š 101 1100 92 5C \ ¥ ¥ \ \ \ Ø Ø Ø Ö Ö Ö Ö ç ç ç ç Í ç Ç Ç Ñ Ñ Ñ ż Đ 101 1101 93 5D ] ] ] ] ] ] ] Å Å Å Å Å Ü Ü § § ê ê Ú é Õ Õ ¿ Ç ] ħ Ć 101 1110 94 5E ^ ^ ^ ^ ˆ ˆ ˆ ˆ ˆ ˆ Ü ˆ ˆ ^ ˆ î É Á ˆ ˆ ˆ ˆ ¿ ¿ ˆ Č 101 1111 95 5F _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 110 0000 96 60 ` ` ` ` ` ` ` ` ` é ` á µ µ ô ô ó ù ` ` ` ` ` ċ ž 111 1011 123 7B { { { { { { æ æ æ ä ä ä é é é é é é à ã ã ° ´ ´ Ġ š 111 1100 124 7C | | | | | | | ø ø ø ö ö ö ö ù ù ù ù í ò ç ç ñ ñ ñ Ż đ 111 1101 125 7D } } } } } } å å å å å ü ü è è è è ú è õ õ ç ç [ Ħ ć 111 1110 126 7E ~ ~ ~ ˜ ˜ ˜ ¯ | ˜ ü ß ˝ ¨ ¨ û û á ì ° ˜ ˜ ¨ ¨ Ċ č Les caractères affichés ci-dessus sur fond rouge doivent être interprétés comme des diacritiques combinants lorsqu’ils sont précédés ou suivis d’un caractère de contrôle retour arrière (BS, code 8). Ces diacritiques s'appliquent alors au caractère précédent si ces caractères réinterprétés sont précédés du contrôle retour arrière, sinon ils s’appliquent au caractère suivant comme s’ils étaient saisis comme touches mortes (et dans ce cas le transcodage vers Unicode nécessitera une inversion du caractère suivant et du diacritique, s'il n'existe pas de caractère Unicode précombiné correspondant). Dans ce cas, les ponctuations, symboles et lettres modificatives suivants sont réinterprétés ainsi :
- guillemet anglais → diacritique tréma ;
- apostrophe → diacritique accent aigu ;
- accent aigu → diacritique accent aigu ;
- virgule → diacritique cédille ;
- tiret-moins → diacritique barre ;
- barre oblique → diacritique barre oblique ;
- degré → diacritique rond en chef ;
- tiret bas → diacritique macron souscrit ;
- symbole accent circonflexe → diacritique accent circonflexe ;
- accent grave → diacritique accent grave ;
- petit tilde → diacritique tilde ;
- symbole macron → diacritique macron ;
- double accent aigu → diacritique double accent aigu.
Voir aussi
Liens externes
- Portail de l’informatique
- Portail de l’écriture
Catégories : Norme ISO | Norme CEI | Codage du texte
Wikimedia Foundation. 2010.