Necesito una buena biblioteca Unicode para C++. Necesito:¿Hay un C++ Wrapper amigable STL y UTF-8 para ICU u otra poderosa biblioteca Unicode?
- Transformaciones de manera Unicode sensible. Por ejemplo, clasifique todas las cadenas de una manera insensible a mayúsculas y obtenga sus primeros caracteres para el índice. Convierta varias cadenas Unicode en mayúsculas y minúsculas. Divida el texto en una posición razonable: palabras que también funcionarían para chino y japonés.
- Formateo de números, fechas en modo local sensible (debe ser seguro para subprocesos).
- Soporte transparente de UTF-8 (representación interna primaria).
Hasta donde yo sé, la mejor biblioteca es ICU. Sin embargo, no puedo encontrar la documentación de API amigable para el desarrollador normal con ejemplos. También, por lo que veo, no es demasiado amigable con diseño moderno de C++, funciona con STL, etc. De esta manera:
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;
¿Hay un buen envoltorio de ICU compatible con STL bajo licencia de código abierto? Preferido es una licencia permisiva como MIT o Boost, pero otros, como LGPLv2 compatible, también están bien.
¿Hay otra biblioteca de alta calidad similar a la UCI?
Plataforma: Unix/POSIX, compatibilidad con Windows no es necesaria.
Edit: Lamentablemente no he iniciado sesión, por lo que no puedo aceptar una respuesta. He adjuntado la respuesta yo solo.
Ooh, 1 para esta pregunta. Es desconcertante que una gran biblioteca como ICU no siga por completo los modismos comunes de C++. – jalf