È possibile utilizzare libxml con unicode xmlchar?
Domanda
È possibile usare libxml con unicode?
Ad esempio la funzione xmlParseDoc accetta un xmlChar
xmlChar ha la seguente definizione:
typedef unsigned char xmlChar;
Vorrei che libxml interpretasse tutto come caratteri a 2 byte.
Ho la sensazione che quanto segue non funzionerebbe correttamente con la lib:
typedef unsigned short xmlChar;
Nota: non sto parlando di quando effettivamente legge / scrive la codifica XML. So che supporta Unicode. Quello che voglio è che l'interfaccia nella libreria sia con stringhe unicode invece che con stringhe normali.
Soluzione
Ho trovato la risposta in un link fornito da @Mitch Wheat
Non è possibile ridefinire xmlchar come abbreviato senza segno. Tuttavia, se si codificano le stringhe come UTF-8, xmlChar gestirà correttamente Unicode.
Puoi convertire una stringa in Windows in UTF8 chiamando WideCharToMultiByte con un parametro di CP_UTF8