Coder avec Unicode/Ordre
En Unicode, la collation est différente d'une mise dans un ordre particulier.
Un algorithme a été défini par le consortium Unicode pour trier un texte en fonction de paramètres régionaux : il s'agit de l'Unicode Collation Algorithm[1] [2].
La langue française par exemple peut présenter des particularités[3].
Perl
modifierEn perl, il est possible d'ordonner un texte sur la base de l' Unicode Collation Algorithm (UCA). Pour cela, il faut recourir au module CPAN Unicode::Collate .
use Unicode::Collate;
my $col = Unicode::Collate->new();
my @list = $col->sort(@old_list);
Python
modifierEn prenant en compte les paramètres régionaux allemands :
from PyICU import Collator, Locale
collator = Collator.createInstance(Locale('de'))
sorted = sorted(unsorted, cmp=collator.compare)
Références
modifier- ↑ Technical standard : www.unicode.org/reports/tr10/
- ↑ Réponse aux questions fréquentes : www.unicode.org/faq/collation.html
- ↑ (anglais) Unicode Collation Case Study: Sorting French Topic Lists