Получить Юникод из файла JSON ⇐ C++
-
Гость
Получить Юникод из файла JSON
Я работаю над проектом C++ (C++14) и столкнулся со следующей проблемой. У меня есть файл JSON с полем, содержащим символы Юникода. Я использую nlohmann/json для получения информации из этого поля. Однако, когда я получаю его, он не соответствует моим ожиданиям. Ниже приведен мой исходный код:
std::u16string Str16 = u"\u9db4\u5c4b\u516b\u5e61 \u4eac\u962a\u767e\u8ca8\u5e97\u5b88\u53e3\u5e97";//L"鶴屋八幡 京阪百貨店守口店" std::ifstream jsonFile("name.json"); если (!jsonFile.is_open()) { std::cerr jsonData; std::string unicodeStr = jsonData["имя"]; jsonFile.close(); вернуть 0; имя.json
{ "name": "\u9db4\u5c4b\u516b\u5e61 \u4eac\u962a\u767e\u8ca8\u5e97\u5b88\u53e3\u5e97" } Мое желание — иметь возможность преобразовать строку Unicode «unicodeStr» в строку «char16_t» или «u16string». Или получите unicodeStr = "\u9db4\u5c4b\u516\u5e61 \u4eac\u962a\u767e\u8ca8\u5e97\u5b88\u53e3\u5e97"
Может ли кто-нибудь помочь мне с этой проблемой?
Я работаю над проектом C++ (C++14) и столкнулся со следующей проблемой. У меня есть файл JSON с полем, содержащим символы Юникода. Я использую nlohmann/json для получения информации из этого поля. Однако, когда я получаю его, он не соответствует моим ожиданиям. Ниже приведен мой исходный код:
std::u16string Str16 = u"\u9db4\u5c4b\u516b\u5e61 \u4eac\u962a\u767e\u8ca8\u5e97\u5b88\u53e3\u5e97";//L"鶴屋八幡 京阪百貨店守口店" std::ifstream jsonFile("name.json"); если (!jsonFile.is_open()) { std::cerr jsonData; std::string unicodeStr = jsonData["имя"]; jsonFile.close(); вернуть 0; имя.json
{ "name": "\u9db4\u5c4b\u516b\u5e61 \u4eac\u962a\u767e\u8ca8\u5e97\u5b88\u53e3\u5e97" } Мое желание — иметь возможность преобразовать строку Unicode «unicodeStr» в строку «char16_t» или «u16string». Или получите unicodeStr = "\u9db4\u5c4b\u516\u5e61 \u4eac\u962a\u767e\u8ca8\u5e97\u5b88\u53e3\u5e97"
Может ли кто-нибудь помочь мне с этой проблемой?
Мобильная версия