Sto provando a convertire un UTF-8 string
in un ISO-8859-1 char*
da utilizzare nel codice legacy. L'unico modo che sto vedendo per farlo è con iconv
.Converti stringa da UTF-8 a ISO-8859-1
Preferirei assolutamente una soluzione C++ completamente basata su string
, quindi chiamare lo .c_str()
sulla stringa risultante.
Come posso fare? Esempio di codice, se possibile, per favore. Sto bene usando iconv
se è l'unica soluzione che conosci.
Che suona come un potenziale grande progetto - ed esattamente il genere di cose una libreria come iconv è buono per. Cosa c'è di sbagliato nel farlo nel modo giusto? –
Sto bene usando iconv se questo è l'unico modo disponibile per farlo. Non è sicuramente la soluzione C++ più elegante che si possa immaginare. Qualcosa come 's.toEncoding (" ISO-8859-1 ")' sarebbe molto più elegante. Il mio punto è, anche se lo sto facendo in iconv, non mi è chiaro come usare la libreria con l'input 'string'. –
Non è sicuro, ma potrebbe essere utile: http://www.openldap.org/lists/openldap-devel/200304/msg00123.html – gerbit