- International components for unicode
-
International Components for Unicode
Pour les articles homonymes, voir ICU.L'International Components for Unicode (ICU) est un projet open source qui fourni des bibliothèques pour les langages informatique C/C++ et Java pour prendre en charge Unicode, l'internationalisation et la mondialisation des logiciels. ICU est largement portable vers beaucoup de systèmes d'exploitations et d'environnements. Il donne aux applications les mêmes comportements et résultats sur toutes les plateformes et entre les logiciels C/C++ et Java. Le projet ICU est un projet qui est sponsorisé, dont les code sources sont disponibles, supporté et utilisé par IBM et beaucoup d'autres entreprises.
Certains des services fournis sont les suivants :
- Texte : gestion de texte Unicode, propriété des caractères et les conversions de jeu de caractères
- Analyse : Unicode expressions rationnelles; jeu Unicode complet; limites de caractère de mot et de lignes
- Comparaison : Algorithmes de collation et de recherche sensibles à la casse
- Transformations : normalization, majuscules/minuscules, script transliterations
- Régionalisation : Comprehensive locale data and resource bundle architecture
- Layout de texte complexe : arabe, hébreu, hindou/indien et thaï
- Temps: Multi-calendriers et fuseaux horaires
- Formatage et Parsing: dates, heures, nombres, monnaies, messages et basé sur des règles.
Origine et développement
Le travail initial d' ICU vient du framework C++ écrit par une entreprise appelée Taligent, qui fut rachetée par IBM. Certaines des fonctionnalités liées à la gestion de texte, au formatage des dates, etc. ont été réécrites en Java et devinrent les JDK 1.1 internationalization APIs, qui ont été proposées à Sun Microsystems par l'équipe ICU. Une grande portion de cela existe toujours dans les paquets
java.text
etjava.util
. ICU a été livré en tant que projet open source en 1999 sous le nom "IBM Classes for Unicode". Il fut ensuite renommé "International Components For Unicode".Originellement, ICU a été intégralement écrit en Java. Ces fonctionnalités furent ensuite réécrites et étendues en C et en C++ pour surmonter les défauts d'internationalisation de ces langages. D'ordinaire un système d'exploitation fournit ces fonctionnalités, mais le support d'une telle API d'internationalisation n'est pas assuré de façon homogène par tous les systèmes d'exploitation.
La version Java existe aujourd'hui sous le nom ICU4J, et la version C/C++ existe aujourd'hui sous le nom ICU4C. Le projet et les deux sous-projets continuent à être développés pour les support plus avancé de Unicode/i18n .
exemple
Exemple de code utilisant la bibliothèque ICU, pour le formatage de nombres décimaux.
#include <unicode/choicfmt.h> #include <unicode/unistr.h> #include <unicode/ustream.h> int main(int argc, char *argv[]) { double limits[] = {1,2,3,4,5,6,7}; UnicodeString monthNames[] = { "Sun","Mon","Tue","Wed","Thu","Fri","Sat"}; ChoiceFormat fmt(limits, monthNames, 7); UnicodeString str; for (double x = 1.0; x <= 8.0; x += 1.0) { fmt.format(x, str); cout << x << " -> " << str << endl; } cout << endl; return 0; }
Liens externes
- (en) ICU website
Catégorie : Unicode
Wikimedia Foundation. 2010.