2009-04-13 5 views
16

Kennt jemand eine große kleine Open-Source-Unicode-Handling-Bibliothek für C oder C++? Ich habe mir ICU angesehen, aber es scheint viel zu groß.Kleine Open Source Unicode-Bibliothek für C/C++

Ich brauche die Bibliothek zu unterstützen:

  • alle normalen Codierungen
  • Normalisierung
  • Befund Charaktertypen - zu finden, wenn ein Zeichen in Bezeichnern erlaubt sein sollte und Kommentare
  • Validierung - Erkennen Unsinn

Antwort

9

ich sah UT8-CPP und libiconv, und keiner schien alle Funktionen zu haben ich brauchte. Also, ich nehme an, ich benutze nur ICU, obwohl es wirklich groß ist. Ich denke, es gibt einige Möglichkeiten, die nicht benötigten Funktionen und Daten zu entfernen, also werde ich das versuchen. This page (unter "Anpassen der ICU-Datenbibliothek") beschreibt, wie Sie einige Daten ausschneiden.

+2

Was waren die Funktionen, die Sie benötigten, die fehlten? Vielleicht sollten Sie die Frage bearbeiten, um zu sagen: "Gibt es eine kleine Unicode-Bibliothek, die A, B und C ohne all den Overhead von D, E und F macht?" Dann könnten Sie finden, was Sie suchen. – jmucchiello

+0

Es gibt einen ganzen Abschnitt über [Making ICU kleiner] [kleiner] - Sie können sogar statisch zu ihm verbinden. [kleiner]: http://userguide.icu-project.org/packaging#TOC-Making-ICU-Smaller –

0

Wie viele Funktionen benötigen Sie wirklich? In vielen Fällen finde ich die interne Umwandlung in einen Typ (z. B. UTF8) und die Handhabung der verschiedenen Kodierungen nur dann, wenn das Laden oder Speichern mehr als ausreichend ist. Wenn Sie bereit sind, ein wenig Zeit zu verbringen und eine Klasse zu schreiben, um damit umzugehen, bin ich sicher, dass Sie es immer wieder verwenden werden.

Ich habe eine irgendwo herumliegen, aber iirc der UTF32LE/BE ist nicht getestet: http://aaq.cc/d

Wenn Ihr Projekt wirklich verschiedene Kodierungen umgehen muss, um andere als Dateien zu laden/speichern, dann sind Sie wahrscheinlich mit einem am besten aus obwohl Bibliothek ...