Article de reference

ISO/CEI 646

L'ISO/IEC 646 est un ensemble de normes ISO/IEC , décrites comme Technologies de l'information — Jeu de caractères codés ISO à 7 bits pour l'échange d'informations , et développ...

L'ISO/IEC 646 est un ensemble de normes ISO/IEC , décrites comme Technologies de l'information — Jeu de caractères codés ISO à 7 bits pour l'échange d'informations , et développées en coopération avec l'ASCII au moins depuis 1964. Depuis sa première édition en 1967 elle spécifie un code de caractères à 7 bits à partir duquel plusieurs normes nationales sont dérivées.

La norme ISO/IEC 646 a également été ratifiée par l'ECMA sous le nom d' ECMA-6 . La première version de l'ECMA-6 avait été publiée en 1965, sur la base des travaux menés par le Comité technique TC1 de l'ECMA depuis décembre 1960.

Les caractères du jeu de caractères de base ISO/IEC 646 sont des caractères invariants . Étant donné que cette partie de l'ISO/IEC 646, qui est le jeu de caractères invariant partagé par tous les pays, ne spécifiait que les lettres utilisées dans l' alphabet latin de base ISO , les pays utilisant des lettres supplémentaires devaient créer des variantes nationales de l'ISO/IEC 646 pour pouvoir utiliser leurs écritures natives. La transmission et le stockage des codes à 8 bits n'étant pas standard à l'époque, les caractères nationaux devaient être adaptés aux contraintes de 7 bits, ce qui signifie que certains caractères qui apparaissent en ASCII n'apparaissent pas dans d'autres variantes nationales de l'ISO/IEC 646.

Histoire

ASCII primitif ( ASA X3.4 :1963)

La norme ISO/IEC 646 et son prédécesseur ASCII (ASA X3.4) ont largement approuvé les pratiques existantes concernant les codages de caractères dans le secteur des télécommunications .

US-ASCII ou ISO/IEC 646:US

Comme l'ASCII ne fournissait pas un certain nombre de caractères nécessaires pour d'autres langues que l'anglais, un certain nombre de variantes nationales ont été créées, remplaçant certains caractères moins utilisés par d'autres caractères nécessaires. En raison de l'incompatibilité des diverses variantes nationales, une version de référence internationale (IRV) de l'ISO/CEI 646 a été introduite, dans le but de limiter au moins l'ensemble remplacé aux mêmes caractères dans toutes les variantes. La version originale (ISO 646 IRV) ne différait de l'ASCII que par le point de code 0x24, le signe dollar de l'ASCII ($) étant remplacé par le symbole monétaire international (¤). La version finale de 1991 du code ISO/CEI 646:1991 est également connue sous le nom d' ITU T.50 , Alphabet international de référence ou IRA, anciennement Alphabet international n° 5 (IA5). Cette norme permet aux utilisateurs d'utiliser les 12 caractères variables (c'est-à-dire deux caractères graphiques alternatifs et 10 caractères nationaux définis). Parmi ces exercices, l'ISO 646:1991 IRV (International Reference Version) est explicitement définie et identique à l'ASCII .

La série de normes ISO/IEC 8859 régissant les codages de caractères sur 8 bits remplace la norme internationale ISO/IEC 646 et ses variantes nationales, en fournissant 96 caractères supplémentaires avec le bit supplémentaire et en évitant ainsi toute substitution de codes ASCII. La norme ISO/IEC 10646 , directement liée à Unicode , remplace tous les ensembles ISO646 et ISO/IEC 8859 par un ensemble unifié de codages de caractères utilisant une valeur plus élevée de 21 bits.

ISO 646:JP

L'héritage de la norme ISO/IEC 646 est visible sur Windows, où dans de nombreux pays d'Asie de l'Est, le caractère barre oblique inverse utilisé dans les noms de fichiers est rendu par ¥ ou d'autres caractères tels que . Malgré le fait qu'un code différent pour ¥ était disponible même sur la page de codes 437 de l'IBM PC d'origine , et qu'un code à deux octets distinct pour ¥ est disponible dans Shift JIS (bien que cela utilise souvent un mappage alternatif ), tant de texte a été créé avec le code barre oblique inverse utilisé pour ¥ (en raison du fait que Shift_JIS est officiellement basé sur la norme ISO 646:JP, bien que Microsoft le mappe en ASCII) que même les polices Windows modernes ont jugé nécessaire de rendre le code de cette façon. Une situation similaire existe avec ₩ et EUC-KR . Un autre héritage est l'existence de trigrammes dans le langage de programmation C.

Normes publiées

  • ECMA-6 (1965-04-30), première édition (retirée)
  • ISO/R646-1967 (retirée), ou ECMA-6 (1967-06), deuxième édition (retirée)
  • ECMA-6 (1970-07), troisième édition (retirée)
  • ISO 646:1972 (annulée), ou ECMA-6 (1973-08), quatrième édition (annulée)
  • ISO 646:1983 (annulée), ou ECMA-6 (1984-12, 1985-03), cinquième édition (annulée)
  • Recommandation UIT-T T.50 IA5 (1988-11-25) (retirée), ou ISO/CEI 646:1991 (en vigueur), ou ECMA-6 (1991-12, 1997-08), sixième édition (en vigueur)
  • Recommandation UIT-T T.50 IRA (1992-09-18) (en vigueur)

Disposition de la page de code

Le tableau suivant présente le jeu de caractères invariants ISO/IEC 646. Chaque caractère est indiqué avec son équivalent Unicode . Les points de code nationaux sont grisés avec le caractère ASCII remplacé. Le jaune indique un caractère qui, dans certaines régions, pourrait être combiné avec un caractère précédent comme signe diacritique à l'aide du caractère de retour arrière , ce qui peut affecter le choix du glyphe .

En plus des restrictions d'ensemble invariantes, 0x23 est limité à # ou £ et 0x24 est limité à $ ou ¤ dans ECMA-6:1991, équivalent à ISO/IEC 646:1991. Cependant, ces restrictions ne sont pas suivies par toutes les variantes nationales.

Codes et descriptions des variantes

Variantes nationales de la norme ISO/IEC 646

Certaines variantes nationales de la norme ISO/IEC 646 sont les suivantes :

Dérivés nationaux

Il existe également certains jeux de caractères nationaux basés sur la norme ISO/IEC 646 mais qui ne suivent pas strictement son ensemble invariant (voir également § Dérivés pour d'autres alphabets) :

Caractères de contrôle

Toutes les variantes répertoriées ci-dessus sont uniquement des jeux de caractères graphiques et doivent être utilisées avec un jeu de caractères de contrôle C0 tel que répertorié dans le tableau suivant :

Jeux de caractères supplémentaires associés

Le tableau suivant répertorie les jeux de caractères graphiques supplémentaires définis par la même norme que les variantes spécifiques de la norme ISO/IEC 646. Ceux-ci peuvent être sélectionnés à l'aide d'un mécanisme tel que le décalage ou le super décalage NATS (décalage unique), ou en définissant le huitième bit dans les environnements où il est disponible :

Tableau comparatif des variantes

Les spécificités des modifications apportées à certaines de ces variantes sont présentées dans le tableau suivant. Les attributions de caractères inchangées dans toutes les variantes répertoriées (c'est-à-dire qui restent identiques à l'ASCII) ne sont pas indiquées.

Pour faciliter la comparaison, les variantes détaillées incluent les variantes nationales de la norme ISO/IEC 646, la série NRCS ( National Replacement Character Set ) étroitement liée de DEC utilisée sur les terminaux VT200 , la série de codages télétexte du système mondial européen associée définie dans la norme ETS 300 706, et quelques autres codages étroitement liés basés sur la norme ISO/IEC 646. Les tableaux de codes individuels sont liés à partir de la deuxième colonne. Les cellules avec un arrière-plan non blanc soulignent les différences par rapport à l'US-ASCII (également le sous-ensemble latin de base de la norme ISO/IEC 10646 et Unicode).

Plusieurs caractères peuvent être utilisés comme caractères combinatoires , lorsqu'ils sont précédés ou suivis d'un contrôle de retour arrière C0 . Ceci est attesté dans les tableaux de codes pour IRV, GB, FR1, CA et CA2, qui notent qu'ils "',^se comporteraient comme un tréma , un accent aigu , une cédille et un accent circonflexe (plutôt que comme des guillemets , une virgule et une pointe de flèche vers le haut ) lorsqu'ils sont précédés ou suivis d'un contrôle de retour arrière. Le caractère tilde (~) a également été introduit comme signe diacritique (˜). Cette méthode de codage est née à l'époque des machines à écrire/ télétypes , lorsque l'utilisation du contrôle de retour arrière surestimait un glyphe, et peut être considérée comme obsolète .

Plus tard, lorsque des jeux de caractères plus larges ont gagné en acceptation, la norme ISO/IEC 8859 , les jeux de caractères spécifiques aux fournisseurs et finalement Unicode sont devenus les méthodes préférées de codage de la plupart de ces variantes.

Familles de codage apparentées

Jeu de caractères de remplacement national

Le jeu de caractères de remplacement national ( NRCS ) est une famille de codages à 7 bits introduite en 1983 par DEC avec la série de terminaux informatiques VT200 . Il est étroitement lié à la norme ISO/IEC 646, car il est basé sur un sous-ensemble invariant similaire de l'ASCII, différant par le fait qu'il conserve $l'invariance mais pas _(bien que la plupart des variantes du NRCS conservent le _, et soient donc conformes à l'ensemble invariant ISO/IEC 646). La plupart des variantes du NRCS sont étroitement liées aux variantes nationales correspondantes de la norme ISO/IEC 646 lorsqu'elles existent, à l'exception de la variante néerlandaise .

Télétexte du système mondial

La norme européenne de télécommunications ETS 300 706, « Spécification améliorée du télétexte », définit des ensembles de codes latins, grecs, cyrilliques, arabes et hébreux avec plusieurs variantes nationales pour le latin et le cyrillique. Comme NRCS et ISO/IEC 646, au sein des variantes latines, la famille de codages connue sous le nom d' ensemble G0 est basée sur un sous-ensemble invariant similaire de l'ASCII, mais ne conserve ni l'un $ni l'autre _comme invariant. Contrairement au NRCS, les variantes diffèrent souvent considérablement des variantes nationales ISO/IEC 646 correspondantes.

HP

HP dispose d'une page de codes 1054 , qui ajoute la teinte moyenne (▒, U+2592) à 0x7F. La page de codes 1052 remplace quelques caractères ASCII de la page de codes 1054.

Différences avec l'ASCII

Dérivés pour d'autres alphabets

Certains jeux de caractères 7 bits pour les alphabets non latins sont dérivés de la norme ISO/IEC 646 : ils ne constituent pas eux-mêmes la norme ISO/IEC 646 car ils ne suivent pas ses points de code invariants (remplaçant souvent les lettres d'au moins une casse), en raison de la prise en charge d'alphabets différents pour lesquels l'ensemble de points de code nationaux ne fournit pas suffisamment d'espace de codage. En voici quelques exemples :

  • Turkmène 7 bits (ISO-IR-230).
  • Grec 7 bits.
    • Dans ELOT 927 (ISO-IR-088), l' alphabet grec est mappé dans l'ordre alphabétique (à l'exception du sigma final) aux positions 0x61–0x71 et 0x73–0x79, au-dessus des lettres minuscules latines.
    • L'ISO-IR-018 mappe l'alphabet grec sur les deux casses de lettres en utilisant un schéma différent (pas dans l'ordre alphabétique, mais en essayant, lorsque cela est possible, de faire correspondre les lettres grecques sur les lettres romaines qui correspondent dans un certain sens), et l'ISO-IR-019 mappe l'alphabet majuscule grec sur les lettres minuscules latines en utilisant le même schéma que l'ISO-IR-018.
    • La moitié inférieure du codage de caractères de la police Symbol utilise son propre schéma pour mapper les lettres grecques des deux cas sur les lettres romaines ASCII, essayant également de mapper les lettres grecques sur les lettres romaines qui correspondent dans un certain sens, mais prenant des décisions différentes à cet égard (voir le tableau ci-dessous). Il remplace également les points de code invariants 0x22 et 0x27 et cinq points de code nationaux par des symboles mathématiques. Bien qu'il ne soit pas destiné à être utilisé dans la composition de prose grecque, il est parfois utilisé à cette fin.
    • La norme ISO-IR-027 (détaillée dans le tableau ci-dessus plutôt que ci-dessous) inclut l'alphabet latin inchangé, mais ajoute quelques lettres majuscules grecques qui ne peuvent pas être représentées par des homoglyphes en écriture latine ; bien qu'elle soit explicitement basée sur la norme ISO/IEC 646, certaines d'entre elles sont mappées sur des points de code qui sont invariants dans la norme ISO/IEC 646 (0x21, 0x3A et 0x3F), et ce n'est donc pas une véritable variante de la norme ISO/IEC 646.
    • Le codage du télétexte du système mondial pour le grec utilise un autre schéma de mappage des lettres grecques dans l'ordre alphabétique sur les lettres ASCII des deux cas, incluant notamment plusieurs lettres avec des signes diacritiques.
  • Cyrillique 7 bits
    • KOI-7 ou KOI abrégé, utilisé pour le russe . Les caractères cyrilliques sont mappés aux positions 0x60–0x7E, au-dessus des lettres minuscules latines, en faisant correspondre les lettres homologues lorsque cela est possible (où в est mappé sur w, et non v). Remplacé par les variantes KOI-8 .
    • SRPSCII et MAKSCII sont des variantes cyrilliques de YUSCII (la variante latine est YU/ISO-IR-141 dans le tableau ci-dessus), utilisées respectivement pour le serbe et le macédonien . En grande partie homologues à la variante latine de YUSCII (suivant les règles de digraphie serbes ), à l'exception de Љ (lj), Њ (nj), Џ (dž) et ѕ (dz), qui correspondent à des digrammes dans l'orthographe latine , et sont mappés sur des lettres qui ne sont pas utilisées en serbe ou en macédonien (q, w, x, y).
    • Les ensembles G0 pour les codages Télétexte du World System pour le russe/bulgare et l'ukrainien utilisent des ensembles G0 similaires à KOI-7 avec quelques modifications. L'ensemble G0 correspondant pour le cyrillique serbe le serbo-croate et le slovène en écriture latine , par opposition au YUSCII sensiblement différent.
  • Hébreu 7 bits, SI 960. L' alphabet hébreu est mappé aux positions 0x60–0x7A, au-dessus des lettres latines minuscules (et de l'accent grave pour aleph). L'hébreu 7 bits a toujours été stocké dans l'ordre visuel. Ce mappage avec le bit le plus élevé défini, c'est-à-dire avec les lettres hébraïques dans 0xE0–0xFA, est conforme à la norme ISO/IEC 8859-8 . Le codage World System Teletext pour l'hébreu utilise les mêmes mappages de lettres, mais utilise BS_Viewdata comme codage de base (tandis que SI 960 utilise US-ASCII) et inclut un signe shekel à 0x7B.
  • Arabe 7 bits, ASMO 449 (ISO-IR-089). L' alphabet arabe est mappé aux positions 0x41–0x5A et 0x60–0x6A, au-dessus des lettres latines majuscules et minuscules.

Une comparaison de certains de ces codages est présentée ci-dessous. Un seul cas est présenté, sauf dans les cas où les cas sont associés à des lettres différentes. Dans de tels cas, le mappage avec le plus petit code est affiché en premier. Des transcriptions possibles sont données pour certaines lettres ; lorsque cela est omis, la lettre peut être considérée comme correspondant à la lettre romaine sur laquelle elle est associée.

Plus d articles de Worldlex Wiki

Revenez a l index pour explorer davantage de pages sur l histoire, la science, la culture, la geographie et la societe en francais.

Explorer l index