0

我正在使用cpprestsdk来处理 JSON。在创建 JSON 期间,我遇到了特殊字符(如Å. 例如:

json::value json;
std:string s = "ÅÅÅ";
std::wstring wstvalue(s.begin(), s.end());
json[L"key"] = json::value::string(wstvalue)

由于 JSON 仅接受,因此std::wstring我无法将常规字符串正确转换为 wstring。json.key 的结果很奇怪,与初始 ÅÅÅ 值不对应。如何正确地将常规转换std::stringstd::wstring带有 Å 之类的字符?

4

1 回答 1

0

在这里,我使用以下方法创建了下一个解决方案std::mbstowcs

json::value json;
std:string s = "ÅÅÅ";
std::wstring wstvalue(s.size(), L' ');
wstvalue.resize(std::mbstowcs(&wstvalue[0], s.c_str(), s.size()));
json[L"key"] = json::value::string(wstvalue)
于 2018-02-18T16:30:12.917 回答