ISO 8859

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 en tant que norme en tant que telle. La norme comprend actuellement 15 parties.

Sommaire

Introduction

Alors que les 96 caractères imprimables ASCII sont suffisants pour échanger des informations en anglais courant, la plupart des autres langues utilisant 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, alors inutilisé en ASCII, pour donner de la place à 128 caractères supplémentaires. Cependant, plus de caractères étaient nécessaires pour parvenir à cette fin par rapport à ce qu'aurait permis un unique codage de caractères sur 8 bits, aussi plusieurs tables de correspondances ont été développées, en incluant au moins 10 tables pour couvrir uniquement le script latin avec les langues modernes officielles.

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 du standard 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) et le jeu de contrôle C1 (caractères de contrôles positionnés aux octets de 127 à 159), ce qui conduit à une table de caractères 8 bits complète, avec la plupart, sinon la totalité, des valeurs d'octets assignées.

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é, telles que les ligatures optionnelles, les marques de citation incurvées, les tirets, etc. de ce fait, les systèmes de composition avancés utilisent souvent des extensions propriétaires ou pointilleuses au-delà des standards ASCII et ISO 8859, ou utilisent plutôt Unicode.

En général, si un caractère ou le symbole n'était pas déjà la partie d'une série de caractère d’informatique largement utilisée et d'habitude n'a pas été non plus fournie sur les claviers de machine à écrire pour une langue nationale, il n'est pas entré. Donc les guillemets double directionnel « et » utilisé pour quelques langues européennes ont été inclus, mais pas les guillemets double directionnel et utilisé 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 assez besoin d'eux pour les exiger sur leurs claviers ; ni le Ÿ, parce que ce caractère est seulement utilisé en français en texte majuscule. Ces caractères étaient, cependant, inclus plus tard avec ISO 8859-15, qui a introduit aussi le nouveau caractère d'Euro . De la même manière la langue hollandaise n'a pas obtenu les lettres ij et IJ parce que les hollandais s'étaient habitués à la dactylographie de ces lettres plutôt comme deux charactères.

Le Roumain n'a pas obtenu au début ses lettres 'Ș/ș' et 'Ț/ț', parce que ces lettres ont été unifiées au début avec 'Ş/ş' et 'Ţ/ţ' par le Consortium Unicode, considérant les formes avec la virgule en dessous d'être les variantes de glyph des formes avec la cédille.

Cependant, les lettres avec la virgule explicite au dessous étaient ultérieurement supplémenté à la norme de Unicode et sont aussi dans ISO 8859-16.

La plupart des codes ISO 8859 fournissent des marques diacritiques exigées pour les diverses langues européennes. Les autres fournissent des alphabets non-romains : alphabet grec, alphabet Cyrillique, alphabet hébraïque, l’arabe et Thaï. Cependant, la norme ne fait pas de provision pour les manuscrits de langues de l'est asiatique (CJK), comme leur système d’écriture idéographique exige beaucoup de milliers de points de code.

Bien qu'il utilise le latin a basé des caractères, Vietnamien n’est pas capable d’être représenté en 96 positions. Les manuscrits en japonais syllabique Kana d'autre part pourrait, mais comme plusieurs autres alphabets du monde ne sont pas codés.

Les parties du standard ISO 8859

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

¹: seulement le IJ/ij (Dutch Y) se manque, et peut être representé comme IJ
²: çes charactères sont au ISO 8859-15

Chaque partie d'ISO 8859 est conçu pour représenter des langues qui emprunte souvent une de chaque autre, donc les caractères nécessaires par 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 ISO pour développer l’Unicode et ISO/IEC 10646 : la série de caractère universelle (UCS) en tandem. Cette paire de normes a été créée pour unifier le répertoire de caractère ISO 8859, parmi les autres, en assignant chaque caractère au début, à une valeur de code de 16 bits, avec quelques valeurs de code non attribué.

Progressivement, leurs modèles ont adapté pour mapper les caractères aux points de code numériques virtuel au lieu des valeurs de longeur de bits fixes, pour que plus de points de code et méthodes de code puissent être soutenues.

Unicode et l'ISO/IEC 10646 assignent actuellement à peu près 100000 caractères à un espace de code qui consiste en par-dessus de un million de points de code, et ils définissent plusieurs norme code cela est capable de représenter chaque point de code disponible.

La norme de codage Unicode et le UCS utilise des séquences de l'un à quatre codes de 8 bits (UTF-8), les séquences d'un ou deux codes de 16 bits (UTF-16), ou une valeur de code de 32 bits (UTF-32 ou UCS-4). Il y a aussi un plus vieux code qui utilise une valeur de 16 bits (UCS-2), capable de représentant un dix-septième des points de code disponibles. De ces formes codant, seulement les séquences d'octet UTF-8 sont en un ordre fixe ; les autres à l'octet dépendant de la plate-forme entraînant des problèmes qui peuvent être adressés via les codes spéciaux ou indiqué via les moyens hors de bande.

Les plus nouvelles éditions d'ISO 8859 expriment les caractères en termes de leurs noms d'Unicode/UCS et la notation U+nnnn, causant efficacement chaque partie d'ISO 8859 d’être un caractère d'Unicode/UCS, l'arrangement codant qui fait choisir un police d'un très petit sous-ensemble du UCS en octets de 8 bits. Le premier 256 caractères en Unicode et UCS sont identique à ceux en ISO-8859-1.

ISO 8859 a été favorisé à travers les années1990, ayant les avantages d'être bien établi et plus facilement appliqué au logiciel : l'équation d'un octet à un caractère est simple et suffisante pour la plupart d'applications d’une seule langue ou il n'y a pas de caractère combiné ou de formes variantes.

Comme le coût relatif, en ressources de l'informatique, d'utilisation plus qu'un octet par le caractère a commencé à diminuer, les langages de programmation et les systèmes d'exploitation offrent du soutien supplémentaire pour Unicode à côté de leur système de la page de code native. Comme des systèmes fonctionnant rendu capable de Unicode sont devenus plus répandus, ISO 8859 et autres vieux codes sont devenus moins populaires. Pendant que ISO 8859 et les modèles de caractère d’un seul octet restent retranché en beaucoup de systèmes d'exploitation, langages de programmation, systèmes de stockage de données, applications d'établissement de contacts professionnels, du matériel affichant, et du logiciel d'application d'utilisateur final, les applications d'informatique les plus modernes utilisent Unicode intérieurement et compte sur les tables de conversion pour faire un mappage aux plus simples codes quand nécessaire.

État de développement

Le norme ISO/IEC 8859 était mis à jour par la groupe ISO/IEC Joint Technical Committee 1, Subcommittee 2, Working Group 3 (ISO/IEC JTC 1/SC 2/WG 3) mais en juin 2004, WG 3 est étient et ses taches donnés au groupe SC 2. Le norme n'est plus en train d'être mis à jour car la seule groupe de travaux active, WG 2, doit se concentrer au developpement de ISO/IEC 10646.

Références

See also: ISO 8859, ASCII, Afrikaans, Albanais, Allemand, Alphabet arabe, Alphabet grec, Alphabet latin, Anglais, Arabe