Christian Tissmer
Felix Schwarz
Martin v. Löwis
Veit Schiele
2013-03-01
ICU ist die C++-Referenzimplementierung, die High-Level-Access zu den CLDR- Daten ermöglicht. Dabei werden die CLDR-Daten in einer Shared Library gespeichert.
Pro:
weit verbreitete und bewährte Bibliothek
effizienter RAM-Verbrauch da das Betriebssystem die libicudata.so
zwischen den Prozessen teilt.
Kontra:
stellt nicht die vollständigen CLDR-Daten bereit. So wird z.B. bis ICU 51
orientation
(right-to-left
) nicht bereitgestellt.
Ändern der Daten ist schwierig da die ein Rebuild von ICU und ggf. auch Python erforderlich würde.
Ein Wrapper für alle Klassen würde einigen Aufwand bedeuten, zumindest wenn das API PEP-8-kompatibel sein soll.
übernimmt die Beschränkungen von ICU.
Darüberhinaus beschränkt PyICU die Verwendung noch weiter, da nur eine Untermenge von ICU implementiert wird und die Methodennamen nicht PEP-8- kompatibel sind.
Hierbei sollten ggf. jedoch nur diejenigen Teile implementiert werden, die nicht bereits in Python vorhanden sind, also nicht
die Unicode-Database
reguläre Ausdrücke für Unicode-Strings
Pro:
Erwartet werden
geringere Download- und Speichergröße
hohe Performance
geringer RAM-Verbrauch
Kontra:
Unvollständige CLDR-Daten