article

ISO 8859, également appelée plus formellement ISO/CEI 8859, est une norme commune de l'ISO et de la CEI de codage de caractères sur 8 bits pour le traitement informatique du texte. Le standard est divisé en parties numérotées publiées séparément, telles que ISO/CEI 8859-1, ISO/CEI 8859-2, etc., chacune pouvant être référencée de façon informelle comme norme en tant que telle. La norme comprend actuellement 15 parties.

Introduction


Alors que les 96 caractères ASCII imprimables suffisent à l'échange d'informations en anglais courant, la plupart des autres langues qui utilisent l'alphabet latin ont besoin de symboles additionnels non couverts par l'ASCII, tels que ß (allemand), å (suédois et d'autres langues nordiques). ISO 8859 a cherché à remédier à ce problème en utilisant le huitième bit de l'octet, pour donner de la place à 128 caractères supplémentaires. (Ce bit était jadis utilisé pour le contrôle de l'intégrité des données (bit de parité), ou était inutilisé.) Cependant, il fallait plus de caractères qu'on n'en pouvait mettre dans un jeu de caractères 8 bits, aussi plusieurs tables de correspondances ont été développées, en incluant au moins 10 tables pour couvrir uniquement l'écriture latine.

La norme ISO 8859-n n'est pas totalement identique aux codages de caractères bien connus ISO-8859-n approuvés par l'IANA pour l'utilisation sur l'Internet. Au-delà du trait d'union ajouté présent dans le nom approuvé par l'IANA, les codages diffèrent de sorte que chaque partie de la norme ISO assigne, au maximum, 191 caractères dans les étendues d'octets 32 à 126 et 160 à 255, alors que le codage de caractère correspondant approuvé par l'IANA fusionne ces tables de correspondances avec le jeu de contrôle C0 (caractères de contrôles positionnés aux octets de 0 à 31) de l'ISO 646 et le jeu de contrôle C1 (caractères de contrôles positionnés aux octets de 127 à 159) de l'ISO 6429, ce qui conduit à des tables de caractères 8 bits complètes, avec la plupart, sinon la totalité, des valeurs d'octets assignées. On utilise généralement ISO-8859-n comme nom MIME pour ces jeux de caractères. Beaucoup de gens emploient les termes ISO 8859-n et ISO-8859-n l'un pour l'autre.

Caractères


La norme ISO 8859 est conçue pour l'échange fiable d'informations, et non pour la typographie ; elle omet des symboles nécessaires pour la typographie de haute qualité, tels que les ligatures optionnelles, les guillemets incurvés, les tirets, etc. De ce fait, les systèmes de composition avancés utilisent souvent des extensions propriétaires ou idiosyncratiques au-delà des standards ASCII et ISO 8859, ou utilisent plutôt Unicode.

En général, si un caractère ou le symbole ne faisait pas déjà partie d'un jeu de caractères informatique largement utilisé et n'était pas non plus disponible sur la plupart des claviers de machines à écrire pour une langue nationale, il n'était pas inclus. Par conséquent, les guillemets doubles directionnels («, ») utilisés pour quelques langues européennes ont été inclus, mais pas les guillemets double directionnel (, ) utilisés pour l'anglais et quelques autres langues.

Le français n'a pas obtenu ses ligatures « œ » et « Œ » parce que les francophones n'avaient pas eu suffisamment besoin d'elles pour les exiger sur leurs claviers ; ni le Ÿ, parce que ce caractère est seulement utilisé en français en texte majuscule. Cependant, ces caractères ont été inclus plus tard dans l'ISO 8859-15, qui a introduit aussi le nouveau caractère de l'Euro . De même le néerlandais n'a pas obtenu les lettres ij et IJ parce que les néerlandophones s'étaient habitués à la dactylographie de ces lettres plutôt comme deux caractères.

Au début, le Roumain n'a pas obtenu ses lettres 'Ș/ș' et 'Ț/ț', parce que ces lettres ont d'abord été unifiées avec 'Ş/ş' et 'Ţ/ţ' par le Consortium Unicode qui considérait les formes avec virgule souscrite comme des variantes de glyphe des formes avec cédille.

Cependant, les lettres avec virgule souscrite ont été ajoutées ultérieurement à la norme Unicode et sont aussi dans ISO 8859-16.

La plupart des codes ISO 8859 fournissent des signes diacritiques requis pour diverses langues européennes. D'autres fournissent des alphabets non-romains : grec, cyrillique, hébreu, arabe et thaï. La plupart des codages ne contiennent que des caractères avec chasse, bien que les codages hébreu and arabe contiennent aussi des caractères combinatoires. Cependant, la norme ne fournit rien pour les caractères de langues de l'est asiatique (CJC), car leur système d’écriture idéographique exige de nombreux milliers de points de code.

Bien qu'il utilise à la base des caractères latins, le Vietnamien, lui aussi, n’est pas susceptible d’être représenté en 96 positions (sans utiliser des diacritiques combinatoires). Les syllabaires japonais Kana, quant à eux, le pourraient, mais, comme plusieurs autres alphabets du monde, ne sont pas codés dans le système ISO 8859.

Les parties du standard ISO 8859


ISO 8859 est constitué à ce jour des parties suivantes :

¹: seul le IJ/ij (Dutch Y) manque, et peut être représenté comme IJ
²: les caractères manquants sont dans l'ISO 8859-15
³: les caractères manquants Ґ/ґ ont été réintroduits en ukrainien en 1991.

Chaque partie d'ISO 8859 est conçue pour représenter des langues qui emprunte souvent l'une de l'autre, ainsi les caractères nécessaires pour chaque langue sont d'habitude accommodée par une partie seule. Cependant, il y a quelques combinaisons de caractères et langue qui ne sont pas accommodées sans les transcriptions. Les efforts ont été faits pour rendre les conversions le plus facile possible. Par exemple, Allemand a tous ses sept caractères spéciaux aux positions pareilles dans toutes variantes latines (1-4, 9-10, 13-16), et en beaucoup de positions que les caractères diffèrent seulement les signes diacritiques varient entre les séries. En particulier, les variantes 1-4 ont été conçus conjointement et ont la propriété que chaque caractère codé apparaît à une position donnée ou pas du tout.

Table

Comparaison des diverses parties de ISO 8859
binaireOctDécHex 1 2 3 4 5 6 7 8 9101113141516
10100000240160A0 NBSP
10100001241161A1 ¡ĄĦĄЁ ʽ ¡Ą"¡Ą
10100010242162A2 ¢˘˘ĸЂ ʼ¢¢Ē¢¢ą
10100011243163A3 £Ł£ŖЃ £££Ģ£££Ł
10100100244164A4 ¤¤¤¤Є¤¤¤Ī¤Ċ
10100101245165A5 ¥Ľ ĨЅ ¥¥Ĩ"ċ¥"
10100110246166A6 ¦ŚĤĻІ ¦¦¦Ķ¦ŠŠ
10100111247167A7 §§§§Ї §§§§§§§§
10101000250168A8 ¨¨¨¨Ј ¨¨¨ĻØšš
10101001251169A9 ©ŠİŠЉ ©©©Đ©©©©
10101010252170AA ªŞŞĒЊ ×ªŠŖªȘ
10101011253171AB «ŤĞĢЋ «««Ŧ«««
10101100254172AC ¬ŹĴŦЌ،¬¬¬Ž¬¬Ź
10101101255173AD ­­­­­­­­­­­­­­
10101110256174AE ®Ž ŽЎ ®®Ū®®®ź
10101111257175AF ¯ŻŻ¯Џ ¯ŊÆŸ¯Ż
10110000260176B0 °°°°А °°°°°°°
10110001261177B1 ±ąħąБ ±±±ą±±±
10110010262178B2 ²˛²˛В ²²²ē²Ġ²Č
10110011263179B3 ³ł³ŗГ ³³³ģ³ġ³ł
10110100264180B4 ´´´´Д ΄´´ī"ŽŽ
10110101265181B5 µľµĩЕ ΅µµĩµµ"
10110110266182B6 śĥļЖ Άķ
10110111267183B7 ·ˇ·ˇЗ ·······
10111000270184B8 ¸¸¸¸И Έ¸¸ļøžž
10111001271185B9 ¹šıšЙ Ή¹¹đ¹¹č
10111010272186BA ºşşēК Ί÷ºšŗºș
10111011273187BB »ťğģЛ؛»»»ŧ»»»
10111100274188BC ¼źĵŧМ Ό¼¼ž¼ŒŒ
10111101275189BD ½˝½ŊН ½½½½œœ
10111110276190BE ¾ž žО Ύ¾¾ū¾ŸŸ
10111111277191BF ¿żżŋП؟Ώ ¿ŋæ¿ż
11000000300192C0 ÀŔÀĀР ΐ ÀĀĄÀÀÀ
11000001301193C1 ÁÁÁÁСءΑ ÁÁĮÁÁÁ
11000010302194C2 ÂÂÂÂТآΒ ÂÂĀÂÂÂ
11000011303195C3 ÃĂ ÃУأΓ ÃÃĆÃÃĂ
11000100304196C4 ÄÄÄÄФؤΔ ÄÄÄÄÄÄ
11000101305197C5 ÅĹĊÅХإΕ ÅÅÅÅÅĆ
11000110306198C6 ÆĆĈÆЦئΖ ÆÆĘÆÆÆ
11000111307199C7 ÇÇÇĮЧاΗ ÇĮĒÇÇÇ
11001000310200C8 ÈČÈČШبΘ ÈČČÈÈÈ
11001001311201C9 ÉÉÉÉЩةΙ ÉÉÉÉÉÉ
11001010312202CA ÊĘÊĘЪتΚ ÊĘŹÊÊÊ
11001011313203CB ËËËËЫثΛ ËËĖËËË
11001100314204CC ÌĚÌĖЬجΜ ÌĖĢÌÌÌ
11001101315205CD ÍÍÍÍЭحΝ ÍÍĶÍÍÍ
11001110316206CE ÎÎÎÎЮخΞ ÎÎĪÎÎÎ
11001111317207CF ÏĎÏĪЯدΟ ÏÏĻÏÏÏ
11010000320208D0 ÐĐ ĐаذΠ ĞЊŴÐÐ
11010001321209D1 ÑŃÑŅбرΡ ÑŅŃÑÑŃ
11010010322210D2 ÒŇÒŌвز ÒŌŅÒÒÒ
11010011323211D3 ÓÓÓĶгسΣ ÓÓÓÓÓÓ
11010100324212D4 ÔÔÔÔдشΤ ÔÔŌÔÔÔ
11010101325213D5 ÕŐĠÕеصΥ ÕÕÕÕÕŐ
11010110326214D6 ÖÖÖÖжضΦ ÖÖÖÖÖÖ
11010111327215D7 ××××зطΧ ×Ũ×׌
11011000330216D8 ØŘĜØиظΨ ØØŲØØŰ
11011001331217D9 ÙŮÙŲйعΩ ÙŲŁÙÙÙ
11011010332218DA ÚÚÚÚкغΪ ÚÚŚÚÚÚ
11011011333219DB ÛŰÛÛл Ϋ ÛÛ ŪÛÛÛ
11011100334220DC ÜÜÜÜм ά ÜÜ ÜÜÜÜ
11011101335221DD ÝÝŬŨн έ İÝ ŻÝÝĘ
11011110336222DE ÞŢŜŪо ή ŞÞ ŽŶÞȚ
11011111337223DF ßßßßп ίßß฿ßßßß
11100000340224E0 àŕàāрـΰאàāąààà
11100001341225E1 ááááсفαבááįááá
11100010342226E2 ââââтقβגââāâââ
11100011343227E3 ãă ãуكγדããćããă
11100100344228E4 ääääфلδהääääää
11100101345229E5 åĺċåхمεוåååååć
11100110346230E6 æćĉæцنζזææęæææ
11100111347231E7 çççįчهηחçįēççç
11101000350232E8 èčèčшوθטèččèèè
11101001351233E9 ééééщىιיéééééé
11101010352234EA êęêęъيκךêęźêêê
11101011353235EB ëëëëыًλכëëėëëë
11101100354236EC ìěìėьٌμלìėģììì
11101101355237ED ííííэٍνםííķííí
11101110356238EE îîîîюَξמîîīîîî
11101111357239EF ïďïīяُοןïïļïïï
11110000360240F0 ðđ đِπנğðšŵðđ
11110001361241F1 ñńñņёّρסñņńññń
11110010362242F2 òňòōђْςעòōņòòò
11110011363243F3 óóóķѓ σףóóóóóó
11110100364244F4 ôôôôє τפôôōôôô
11110101365245F5 õőġõѕ υץõõõõõő
11110110366246F6 ööööі φצöööööö
11110111367247F7 ÷÷÷÷ї χק÷ũ÷÷ś
11111000370248F8 øřĝøј ψרøøųøøű
11111001371249F9 ùůùųљ ωשùųłùùù
11111010372250FA úúúúњ ϊתúúśúúú
11111011373251FB ûűûûћ ϋ ûûūûûû
11111100374252FC üüüüќ ό üü üüüü
11111101375253FD ýýŭũ§ ύ ıý żýýę
11111110376254FE þţŝūў ώ şþ žŷþț
11111111377255FF ÿ˙˙˙џ ÿĸ ÿÿÿ

A la position 0xA0 il y a toujours l'espace « non-breaking » et 0xAD est normalement le trait d'union « soft », qui est seulement montré aux coupures de ligne. Autre champs vides sont soit non attribué soit des caractères que le système utilisé n'est pas capable d’afficher.

Relations avec Unicode et UCS


Depuis 1991, le consortium Unicode a travaillé avec l'ISO pour développer Unicode et ISO/CEI 10646 : le jeu de caractères universel (UCS : Universal Character Set) en tandem. Cette paire de normes a été créée pour unifier, entre autre, le répertoire de caractère ISO 8859, en associant, initialement, chaque caractère à une valeur de code sur 16 bits ; quelques valeurs de code restant non attribuées.

Progressivement, leurs modèles ont été adaptés pour permettre la mise en correspondance des caractères avec des points de code numériques abstraits plutôt qu'avec des valeurs de longueur fixe. Ce qui a permis à davantage de points de code et de méthodes de codage d'être supportées.

Unicode et l'ISO/CEI 10646 assignent actuellement de l'ordre de 100000 caractères à un espace de code réservé qui consiste en plus d'un million de points de code (de 0x0 à 0x10FFFF en hexadécimal). Chaque caractère est noté U+nnnn, où nnnn représente une suite de 4 à 6 chiffres hexadécimaux. A titre d'exemple, le caractère A correspond au code U+0041. Unicode et l'ISO/CEI 10646 définissent également plusieurs normes de codage capables de représenter la totalité des points de code disponibles.

Les normes de codage Unicode et UCS utilisent des séquences de un à quatre codes de 8 bits (UTF-8), des séquences de un ou deux codes de 16 bits (UTF-16), ou une valeur de code de 32 bits (UTF-32 ou UCS-4). Il existe également un codage plus ancien qui utilise une valeur de 16 bits (UCS-2) mais qui n'est capable de représenter qu'un dix-septième des points de code disponibles : sur la totalité des points de code définis par Unicode, seuls ceux du BMP (Basic Multilingual Plane), c'est-à-dire ceux compris entre U+0000 et U+FFFF, sont supportés par UCS-2. Parmi ces formes de codages, seul UTF-8 présente les suites d'octets dans un ordre fixe ; les autres sont sujets au problème lié à la manière dont les plate-formes codent les suites de 16 et 32 bits (voir sur ce point l'opposition gros-boutiste et petit-boutiste). Ce problème peut être résolu grâce à des codes spéciaux ou par des indications hors bande.

Les éditions d'ISO 8859 les plus récentes expriment les caractères en termes de leurs noms Unicode/UCS et de la notation U+nnnn. Ceci permet à chaque partie d'ISO 8859 d’être un schéma de codage de caractères Unicode/UCS qui permet de coder une petite partie de l'UCS par des octets. D'ailleurs, les 256 premiers caractères en Unicode et en UCS sont identiques à ceux de ISO 8859-1.

ISO 8859 a été favorisé dans les années 1990, car il avait les avantages d'être bien établi et plus facilement implémenté au niveau des logiciels : la correspondance d'un octet à un caractère est simple et adaptée à la plupart des applications ne supportant qu’une seule langue, et où il n'y a pas de caractères combinés ou de formes variantes.

Avec la baisse du coût relatif, en ressources informatiques, de l'utilisation de plus d'un octet par caractère, les langages de programmation et les systèmes d'exploitation proposent un support natif d'Unicode en plus de leur système de page de code. Les systèmes d'exploitation supportant Unicode devenant plus répandus, ISO 8859 et les autres codages anciens ont perdu de leur popularité. Alors qu'ISO 8859 et les modèles de caractères sur un seul octet restent ancrés dans de nombreux systèmes d'exploitation, langages de programmation, systèmes de stockage de données, applications réseau, matériels d'affichage et logiciels d'application pour utilisateur final, les applications informatiques les plus modernes utilisent Unicode en interne et s'appuient, lorsque c'est nécessaire, sur des tables pour convertir de ou vers un codage plus simple.

État de développement


La norme ISO/CEI 8859 était mise à jour par le groupe ISO/CEI Joint Technical Committee 1, Subcommittee 2, Working Group 3 (ISO/CEI JTC 1/SC 2/WG 3) mais en juin 2004, WG 3 s'est éteint et ses taches ont été données au groupe SC 2. La norme n'est plus en train d'être mise à jour car le seule groupe de travaux actif, WG 2, doit se concentrer au développement de ISO/CEI 10646.

Références


  • Les versions PDF des propositions finales de quelques sections d'ISO/IEC 8859 comme soumis pour revue & publication par ISO/IEC JTC 1/SC 2/WG 3 se trouvent au site WG 3 :
    • ISO/IEC 8859-1:1998 - 8-bit single-byte coded graphic character sets, Part 1: Latin alphabet No. 1 (draft dated February 12, 1998, published April 15, 1998)
    • ISO/IEC 8859-4:1998 - 8-bit single-byte coded graphic character sets, Part 4: Latin alphabet No. 4 (draft dated February 12, 1998, published July 1, 1998)
    • ISO/IEC 8859-7:1999 - 8-bit single-byte coded graphic character sets, Part 7: Latin/Greek alphabet (draft dated June 10, 1999; superseded by ISO/IEC 8859-7:2003, published October 10, 2003)
    • ISO/IEC 8859-10:1998 - 8-bit single-byte coded graphic character sets, Part 10: Latin alphabet No. 6 (draft dated February 12, 1998, published July 15, 1998)
    • ISO/IEC 8859-11:1999 - 8-bit single-byte coded graphic character sets, Part 11: Latin/Thai character set (draft dated June 22, 1999; superseded by ISO/IEC 8859-11:2001, published Dec 15, 2001)
    • ISO/IEC 8859-13:1998 - 8-bit single-byte coded graphic character sets, Part 13: Latin alphabet No. 7 (draft dated April 15, 1998, published October 15, 1998)
    • ISO/IEC 8859-15:1998 - 8-bit single-byte coded graphic character sets, Part 15: Latin alphabet No. 9 (draft dated August 1, 1997; superseded by ISO/IEC 8859-15:1999, published March 15, 1999)
    • ISO/IEC 8859-16:2000 - 8-bit single-byte coded graphic character sets, Part 16: Latin alphabet No. 10 (draft dated November 15, 1999; superseded by ISO/IEC 8859-16:2001, published July 15, 2001)

  • Les normes ECMA, écrit avec l'intention de correspondance exacte au normes de polices de charactères ISO/IEC 8859, se trouve au:
    • Standard ECMA-94 : 8-Bit Single Byte Coded Graphic Character Sets - Latin Alphabets No. 1 to No. 4 2nd edition (June 1986)
    • Standard ECMA-113 : 8-Bit Single-Byte Coded Graphic Character Sets - Latin/Cyrillic Alphabet 3rd edition (December 1999)
    • Standard ECMA-114 : 8-Bit Single-Byte Coded Graphic Character Sets - Latin/Arabic Alphabet 2nd edition (December 2000)
    • Standard ECMA-118 : 8-Bit Single-Byte Coded Graphic Character Sets - Latin/Greek Alphabet (December 1986)
    • Standard ECMA-121 : 8-Bit Single-Byte Coded Graphic Character Sets - Latin/Hebrew Alphabet 2nd edition (December 2000)
    • Standard ECMA-128 : 8-Bit Single-Byte Coded Graphic Character Sets - Latin Alphabet No. 5 2nd edition (December 1999)
    • Standard ECMA-144 : 8-Bit Single-Byte Coded Character Sets - Latin Alphabet No. 6 3rd edition (December 2000)

  • Les tables de mappage ISO/IEC 8859-1 à Unicode mapping tables en fichiers de texte ordinaire se trouvent au site FTP de Unicode.

Norme ISO

ISO 8859 | ISO 8859 | ISO 8859 | ISO/IEC 8859 | ISO 8859 | ISO 8859 | ISO/IEC 8859 | ISO 8859 | ISO 8859 | ISO/IEC 8859 | ISO 8859 | ISO 8859 | ISO 8859

 

This article is licensed under the GNU Free Documentation License. It uses material from the "ISO 8859".

Home Pageartsbusinesscomputersgameshealthhospitalshomekids & teensnewsphysiciansrecreationreferenceregionalscienceshoppingsocietysportsworld