(Courriels de diversion: <laryngologiste@gavera-appartenais.com> <piaffa@uniformiser-somnolerez.com> <hypothese@teleguidage-ramification.com> <adonnerais@compromettrait-crevez.com> <avoisiner@drainerions-copions.com> <stenographierez@profererait-patronniez.com> <brusquerent@ophtalmologues-hilarant.com> <chavirant@intentionnee-finalisations.com> <resoudraient@defavorises-constaterais.com> <brimerent@rectifies-etiquetterons.com> )
>>>>> "jmm" == Mongrelet Jean-Marc <jm-mongrelet@ifrance.com> writes:
titi> apt-get existe sous redhat, il à été porté par une équipe de brézilien
jmm> voila meme l'adresse du projet : http://apt4rpm.sourceforge.net/
aiee, c'est pas joli ces logiciels de courriel qui ne gèrent pas
l'UTF-8!
X-Mailer: Evolution/1.0.2-5mdk
Je propose une nouvelle règle pour la liste: on est autorisé à troller
uniquement lorsqu'on a envoyé un message constructif le même jour.
«Constructif» ça peut être
- qui donne une réponse soigneusement formulée à une question
technique
- qui rend service à l'association (par exemple un compte-rendu de
réunion -- on n'en voit plus très souvent circuler ces dernières
années)
- qui fait avancer l'un des projets de l'association (exemple de
projet qui avance bien: biglux)
- qui fournit une information intéressante et conforme aux thèmes de
la liste (idéalement, si on balance une URL, on résume en quelques
phrases l'intérêt pour les abonnés à la liste).
Comme le début de mon message peut être assimilé à un troll de variété
mdk, je vais suivre ma règle j'ai-payé-mon-troll. Voici le ticket de
caisse:
Un texte (tel que celui véhiculé par un courriel) est composé d'une
séquence de caractères. Afin de transmettre des caractères via un
média qui ne sait représenter que des données binaires (genre une
connexion réseau, ou un fichier Unix, qui ne savent représenter que
un flux d'octets), il faut trouver un moyen d'encoder les
caractères avant émission, et les décoder (sans perte) coté
réception. Pour encoder il faut décider du jeu de caractères
(correspondance entre un caractère et un nombre) et d'un encodage
(format binaire utilisé pour représenter les nombres).
Le jeu de caractères le plus simple s'appelle ASCII (man ascii): il
représente les caractères utilisés les plus fréquemment en anglais
par une nombre entre 0 et 128, représentable sur 7 bits. Lorsqu'on
encode des éléments du jeu de caractères ASCII, on peut utiliser un
octet par caractère, et il reste un bit qui peut servir au contrôle
de flux.
Pour encoder un texte en langue française, l'ASCII n'est pas très
pratique. On est oblige' d'adopter des re`gles ad-hoc pour
repre'senter les caracte`res fromage-qui-pue. On a donc inventé des
jeux de caractères qui utilisent les nombres entre 128 et 256 pour les
caractères «étendus»: éàçèùÉÇïæå etc. C'est les jeux de caractères
iso-8859-1, iso-8859-15 (presque identique au -1 sauf le caractère
EUR), mac-roman. Puis les Hongrois et le Finnois n'ont pas les
mêmes caractères spéciaux que les Français, donc ils utilisent un
autre ensemble de caractères étendus, ce qui donne le jeux de
caractères iso-8859-2.
Avec ces jeux de caractères, on a conservé la plupart des
caractéristiques pratiques de l'ASCII: un caractère peut être
encodé sur un octet. Mais on a perdu l'universalité de l'ASCII,
puisqu'il faut maintenant annoter les octets encodés avec le jeu de
caractères utilisé: si un texte mac-roman est décodé en iso-8869-1,
le texte est corrompu. Dans les courriels par exemple, votre MUA
utilise des entêtes spéciales pour indiquer le jeu de caractères
(= «charset» en anglais)
Content-Type: text/plain; charset=ISO-8859-1
Mais ces jeux de caractères sur 8 bits ont leurs limites: ils ne
permettent pas de représenter des textes Japonais, par exemple, où
le nombre de symboles est bien plus grand que dans les langues
occidentales. Il existe une profusion de jeux de caractères et
d'encodages (certains 7-bits, certains 8-bits, utilisant ou non des
séquences d'échappement) pour les langages asiatiques, tous
incompatibles entre-eux.
Pour rationaliser le bordel qu'était devenu cette profusion
d'encodages, le consortium Unicode (man unicode) a développé un jeu
de caractères unique. À chaque caractère ou symbole mathématique
correspond un nombre: sa position dans le Universal Character Set
(UCS, standard ISO 10646). Le standard lui donne également un nom:
ainsi le caractère «é» s'appelle LATIN SMALL LETTER E WITH ACUTE.
Associé au jeu de caractères UCS, Unicode définit un certain nombre
d'encodages permettant de représenter les caractères Unicode dans
des flux d'octets. L'encodage le plus simple est l'UCS-4, où chaque
caractère est codé sur 32 bits. Avec cet encodage, le volume de
stockage, ainsi que le temps de transmission, sont multipliés par 4
par rapport à du iso-8859-1, pour des textes en français. Pour
contourner ce problème on peut utiliser l'encodage UTF-8 (man
utf-8), qui représente les caractères dans le jeu de caractères
ASCII par leur code ASCII, puis utilise des séquences d'échappement
pour les autres caractères. C'est un encodage compact, pour les
textes occidentaux, mais à longueur variable; pour trouver le 10ème
caractère d'une chaîne, il ne suffit plus de chercher le 10ème
octet; il faut traverser le flux en traitant les séquences
d'échappement.
Tout cela pour dire que le MUA de titi a envoyé son message avec un
encodage UTF-8. Le MUA de jmm ne semble pas comprendre l'UTF-8
(c'est dommage de nos jours), et il voit donc chaque caractère
accentué sous la forme de deux caractères: la séquence
d'échappement (octet à pour les caractères "européens") puis un
octet qui code le caractère.
--
Eric Marsden <URL:http://www.laas.fr/~emarsden/>
---------------------------------------------------------------------
Aide sur la liste: <URL:mailto:linux-31-help@CULTe.org>Le CULTe sur le web: <URL:http://www.CULTe.org/>