c++ - 我传递采用 char* 的 tinyxml 函数的是什么 unicode 格式?

标签 c++ xml tinyxml

当我调用一个带有 char* 的 tinyxml 函数时,我需要传递什么 unicode 格式?

TiXmlText *element_text = new TiXmlText(string);

原因是我正在使用一个 wxString 对象并且我可以给它很多不同的编码。如果我只执行 string.c_str(),wxstring 对象将查询当前语言环境的编码并创建该格式的 char* 字符串。或者,如果我执行 string.utf8_str(),它将传递一个 utf-8 字符串,但似乎 tinyxml 不会意识到它已经是 utf-8 编码,并将 utf-8 字符串重新编码为 utf-8(是的,结果是双 utf-8 编码)。所以当我写出来时,如果我将 Notepad++ 设置为显示 utf-8,我会看到:

baÄşlam 而不是 bağlam。

我想自己对 utf_8 (string.utf8_str()) 进行编码,而不是让 tinyxml 接触它并把它写出来。

我该怎么做? tinyxml期望在函数参数(上面代码中的构造函数)中传递什么格式?测试的答案不是 utf-8,尽管如果有意义的话它最终会把它写成 utf-8。

最佳答案

TinyXML 只支持 UTF-8 编码。因此,如果您想提供 ASCII 之外的字符,则必须以 UTF-8 提供。

关于c++ - 我传递采用 char* 的 tinyxml 函数的是什么 unicode 格式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9952493/

相关文章:

java - C++和Java中字符串的区别

c++ - 是否可以在 int 中存储前导零?

iphone - 如何在 iPhone 中解析 gdata xml?

java - 按下按钮时更改 XML 布局

c - Tinyxml - 如何导出多个文件

c++ - ATL COM 是开发 IE7 或更高版本插件/扩展的唯一途径吗?

c++ - 我应该使用 ace_select_reactor 还是 ace_dev_poll_reactor

java - 不幸的是 "app_name"已停止工作

c++ - 对象指针随机指向 0x00000

c++ - TinyXML2 似乎没有正确加载我的文件?