Ist es möglich, mit Unicode xmlchar zu verwenden Libxml?
Frage
Ist es möglich, Libxml mit Unicode zu verwenden?
Zum Beispiel der xmlParseDoc Funktion nimmt eine xmlchar
xmlchar hat folgende Definition:
typedef unsigned char xmlChar;
Ich möchte für libxml alle als 2-Byte-Zeichen zu interpretieren.
Ich habe das Gefühl, dass die folgenden nicht richtig mit dem lib funktionieren würde:
typedef unsigned short xmlChar;
Hinweis: Ich spreche nicht darüber, wann es tatsächlich liest / die XML-Codierung schreibt. Ich weiß, dass unterstützt Unicode. Was ich will, ist für die Schnittstelle in das lib mit Unicode sein Strings anstelle von normalen Strings wstring.
Lösung
fand ich die Antwort in einem Link zur Verfügung gestellt von @Mitch Wheat rel="nofollow
Sie können nicht neu definieren xmlchar ein unsigned short zu sein. Allerdings, wenn Sie Ihre Strings als UTF-8 kodieren dann xmlchar ordnungsgemäß Unicode behandeln.
Sie können eine Zeichenfolge in den Fenstern zu UTF8 konvertieren über Aufruf WideCharToMultiByte mit einem Parameter von CP_UTF8