首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PugiXML值输出编码

PugiXML值输出编码
EN

Stack Overflow用户
提问于 2013-05-27 20:32:46
回答 2查看 1.6K关注 0票数 2

我有点困惑。pugi::xml_node::value()返回chart_t类型的字符串,可以是wchar_t,也可以是字符,具体取决于编译标志。在pugiXML的文档中说,它可以在utf家族编码上使用不同的类型。好的。我正在使用pugi::xml_document::load_file()加载一个uft16编码的文档。然后,当我迭代抛出节点并在每个节点上调用value()方法时,我将以哪种编码获得值?可能是对我的数据进行编码,我已经将其加载到xml_document。这意味着在utf16中。如果它在utf16中,那么我将无法处理该值,因为将有0-符号,并且我将不能使用strlen,strcpy等等...我已经做了这样的测试,但一切都很好。有人知道它是怎么工作的吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-05-27 20:38:35

http://pugixml.googlecode.com/svn/tags/latest/docs/manual/loading.html

http://pugixml.googlecode.com/svn/tags/latest/docs/manual/loading.html#manual.loading.encoding

你可以自己指定编码,或者“享受”自动检测到的编码。

票数 0
EN

Stack Overflow用户

发布于 2013-05-28 23:45:02

有两种编译模式--默认模式,文档使用UTF8将内存中的数据存储在char数组中;wchar模式(PUGIXML_WCHAR_MODE),使用UTF16或UTF32将数据存储在wchar_t数组中,具体取决于大小(Wchar_t)。

加载或保存文档时,pugixml会自动对输入数据进行解码,或者以加载/保存函数的' encoding‘参数指定的编码方式对输出数据进行编码。

在您的示例中,pugixml自动检测到输入文件包含值数据,并将其解码为UTF8,这就是您从UTF8()获得的内容。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16773314

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档