c++ - 是否可以将 libxml 与 unicode xmlchar 一起使用?

标签 c++ unicode libxml2

是否可以将 libxml 与 unicode 结合使用?

例如 xmlParseDoc 函数接受一个 xmlChar

xmlChar 有如下定义:

typedef unsigned char xmlChar;

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

我感觉下面的库不能正常工作:

typedef unsigned short xmlChar;

注意:我不是在谈论它实际读取/写入 xml 编码的时间。我知道支持unicode。我想要的是将 lib 的接口(interface)与 unicode 字符串 wstring 而不是普通字符串一起使用。

最佳答案

我在 link 中找到了答案由@Mitch 小麦提供

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

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

关于c++ - 是否可以将 libxml 与 unicode xmlchar 一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/405766/

相关文章:

javascript - i18next 翻译显示为 unicode 十六进制字符

python libxml2 阅读器和 XML_PARSE_RECOVER

c++ - 扩展 Eigen 库以包含排序

c++ - 作为 UTF-8 值的无符号整数

c++ - 指向字符串和字符的指针捕获 22

php - 如何在 PHP 中匹配除 "-"以外的所有特殊字符的正则表达式?

按数字顺序比较 xmlChar

c - 在 C 中使用 xmlReadFile 时出现警告/错误

c++ - 如何防止打开文件两次?

c++ - 如何在尝试为某些非类型值实例化模板子类方法时产生编译器错误?