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.

È stato utile?

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

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top