Ho bisogno di una buona libreria Unicode per C++. Ho bisogno di:C'è un Wrapper C++ amichevole per STL e UTF-8 per ICU, o altra potente libreria Unicode
- Trasformazioni in modo sensibile Unicode. Ad esempio, ordina tutte le stringhe senza distinzione tra maiuscole e minuscole e ottieni i loro primi caratteri per l'indice. Converti varie stringhe Unicode in maiuscolo e minuscolo. Dividi il testo in una posizione ragionevole - parole che potrebbero funzionare anche per il cinese e il giapponese.
- Formattazione di numeri, date in modo sensibile alle impostazioni internazionali (deve essere protetto da thread).
- Supporto trasparente di UTF-8 (rappresentazione interna primaria).
Per quanto ne so, la migliore biblioteca è ICU. Tuttavia, non riesco a trovare la normale documentazione API compatibile con gli sviluppatori con esempi. Inoltre, per quanto vedo, non è troppo amichevole con il design moderno C++ , funziona con STL e così via. In questo modo:
std::string msg;
unistring umsg.from_utf8(msg);
unistring::word_iterator wi;
for(wi=umsg.words().begin(),n=0;wi!=usmg.words().wi_end(),n<10;++wi,++n)
;
msg=umsg.substr(umsg.words().begin(),wi).to_utf8();
cout<<_("Five 10 words are ")<<msg;
Esiste un buon wrapper ICU compatibile con STL rilasciato con licenza Open Source? Preferibile è una licenza permissiva come MIT o Boost, ma anche altri, come LGPLv2 compatibile, sono OK.
Esiste un'altra libreria di alta qualità simile all'ICU?
Piattaforma: Unix/POSIX, supporto Windows non richiesto.
Modifica: sfortunatamente non ho effettuato l'accesso, quindi non posso accettare una risposta. Ho allegato la risposta da solo.
Ooh, +1 per questa domanda. È sconcertante che una grande libreria come ICU non riesca a seguire gli idiomi C++ comuni. – jalf