Un peu de tout sur Unicode

Samedi 12 février 2005 14:24 - Code

Ça a un peu été la foire sur les homographes la semaine passée mais c'est déjà retombé, mauvais soufflé. L'histoire tourne autour de l'internationalisation des noms de domaine (IDN), ça permettrait d'avoir http://www.村上春樹.net plutôt que http://www.harukimurakami.net, belle intention.

Pour se faire sans trop perturber les systèmes en place, un système a été trouvé, Punicode, RFC 3492. Ça a amusé quelques personnes l'été passé, ✈❚❚.com et le fabuleux www.♚.com de l'actuel project leader Debian.

Et de quoi le monde s'est-il rendu compte ? Que des lettres ressemblaient à d'autres et qu'en ne faisant pas trop attention on pouvait se faire avoir (ce qu'au passage les spammers utilisent depuis un bail, 0rder cheap...).

Concrètement, miҫrosoft.com et microsoft.com, ça se ressemble. Si j'enregistre le premier, que je copie le style du second, et que je remplace la mise à jour d'Internet Explorer par une installation de Firefox, tout le monde se fera avoir. Ah ah.

Mais c'est déjà sorti de l'actualité, je lagge. Ce qui vient de sortir sur la liste de développement debian, c'est le bug 284724, comme quoi, altgr + espace, sur un clavier français, ça insère un espace insécable. Et bardaf, l'utilisateur se retrouve à involontairement entre de ces espaces:

fred@trap:~$ ls -l
bash: ls -l: command not found

Et là on s'interroge, faudrait-il traîter les espaces insécables comme des « bêtes » espaces dès lors qu'il ne s'agit pas de texte ? Et que font Python, Perl, Ruby, etc. ?

fred@trap:~$ ruby -Ku -e 'print "hello world\n"'
-e:1: undefined method `print ' for main:Object (NoMethodError)

fred@trap:~$ perl -e 'use utf8; print "hello world\n";'
Unrecognized character \xC2 at -e line 1.

fred@trap:~$ python -c 'print "hello"'
  File "<string>", line 1
    print "hello"
         ^
SyntaxError: invalid syntax

ET voilà, ils ont tous une option permettant de dire que le contenu est encodé en unicode, mais ils ne considèrent aucun l'espace insécable comme un séparateur.

Dernière modification: samedi 12 février 2005 14:25