根据以下代码,我很难从Boost :: property_tree获取Unicode输出:
#include <boost/property_tree/ptree.hpp>
#include <boost/property_tree/json_parser.hpp>
boost::property_tree::ptree pt;
pt.put("name1", "Žluťoučký");
boost::property_tree::write_json(std::cerr, pt, false);
返回:
{"name1":"\u00C5\u00BDlu\u00C5\u00A5ou\u00C4\u008Dk\u00C3\u00BD"}
我希望看到正确编码,因为我需要进一步传递:
{"name1":"Žluťoučký"}
任何帮助或建议都表示赞赏。
答案 0 :(得分:1)
我希望看到正确编码,因为我需要进一步传递
您对“正确编码”的定义是任意的。如果您在另一端使用任何兼容的JSON解析器,您将获得预期的结果。你不应该关心传输编码,除非你要闯入 JSON的抽象层并解释流中的字节,这是一个实现细节。
可能是一个标志,但我不会指望它,因为事实上,JSON首先只是Property Tree的“任意”后端实现。