Est-il possible d'utiliser libxml avec unicode xmlchar?
Question
Est-il possible d'utiliser libxml avec Unicode?
Par exemple, la fonction xmlParseDoc utilise un xmlChar
xmlChar a la définition suivante:
typedef unsigned char xmlChar;
Je voudrais que libxml interprète tous ces caractères comme des caractères de 2 octets.
J'ai le sentiment que les éléments suivants ne fonctionneraient pas correctement avec la lib:
typedef unsigned short xmlChar;
Remarque: je ne parle pas du moment où il lit / écrit le codage xml. Je sais que supporte Unicode. Ce que je veux, c'est que l'interface dans la bibliothèque soit composée de chaînes unicode plutôt que de chaînes normales.
La solution
J'ai trouvé la réponse dans un lien fourni par @Mitch Wheat
.Vous ne pouvez pas redéfinir xmlchar comme un short non signé. Toutefois, si vous codez vos chaînes au format UTF-8, xmlChar gérera correctement le format Unicode.
Vous pouvez convertir une chaîne dans Windows en UTF8 en appelant WideCharToMultiByte avec un paramètre de CP_UTF8