是否可以将libxml与unicode一起使用?

例如,xmlParseDoc函数采用xmlChar

xmlChar具有以下定义:

typedef unsigned char xmlChar;

我希望libxml将所有字符解释为2字节字符。

我觉得以下内容无法正常使用lib:

typedef unsigned short xmlChar;

注意:我不是在谈论实际读取/写入xml编码的时间。我知道支持unicode。我想要的是进入lib的接口是unicode字符串wstring而不是普通的字符串。

有帮助吗?

解决方案

我在@Mitch Wheat提供的链接中找到答案

您不能将xmlchar重新定义为unsigned short。但是,如果将字符串编码为UTF-8,则xmlChar将正确处理unicode。

您可以通过使用参数CP_UTF8调用WideCharToMultiByte将Windows中的字符串转换为UTF8

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top