Bonsoir,
Voilà la situation, j'ai en input un fichier texte délimité utilisant l'encodage utf-8. Mon algo doit le charger en mémoire et effectuer des comparaisons d'égalité entre les différentes chaînes afin de repérer des similarités de différents types.
Mon gros problème, c'est de savoir comment je pourrai stocker ces chaînes en mémoire de façon à pouvoir dans un premier temps les découper puis ensuite les comparer.
J'ai pensé au départ à utiliser des wstring et wchar_t simplement, mais d'après ce que j'ai appris, dans GCC c'est implémenté sous forme d'UCS-4 (4 bytes par caractères!) ce qui me semble très inefficace vu la quantité que je dois en gérer, sans parler des comparaisons...
En fait vu que la valeur est sans grande importance et que seuls les bytes m'intéressent, j'ai pensé à utiliser de simple char[] contenant les octets bruts mais je ne sais pas trop comment ça va réagir lorsque j'enfilerai ça dans des boost::unordered_set (je sais pas si ça se hash tellement bien que ça).
En fait je sais pas trop comment m'y prendre avec ces chaînes au format UTF-8, sachant que le code doit être portable linux et windows.
Bref si vous avez des conseils, sachant que ça doit être assez efficace, je suis preneur.
Partager