так что, надеюсь, это проще, чем я это представляю. Я читаю данные JSON в мое приложение, и запись появляется как QString "\uf103"
, которая фактически представлена символами '\\'
, 'u'
, 'f'
, '1'
, '0'
, и '3'
. Как бы я на самом деле преобразовать это в Unicode символ, представленный кодом \uf103
? Я прошел через несколько потоков, которые, кажется, задают похожие вопросы, но ни один из них не имеет прямого ответа.
Для контекста, я просто пытаюсь отобразить этот символ как текст кнопки.
Моя процедура синтаксического анализа выглядит следующим образом:
QString infoPath = QDir::currentPath() + "/resources/fonts/fontawesome/unicode_info.json";
QJsonObject fontAwesome = JsonReader(infoPath).getContentsAsJsonObject();
QString fa = JsonReader::getJsonValueAsQString(fontAwesome);
if (!fontAwesome.contains(fontAwesomeIcon)) {
qDebug() << "Error, font awesome icon not found";
#ifdef DEBUG_MODE
throw("Error, font awesome icon not found");
#endif
}
QString unicode = fontAwesome.value(fontAwesomeIcon).toObject().value("unicode").toString();
Строка unicode
представляет интерес для нас. Оригинальный JSON выглядит так, только больше:
{"500px": {"unicode": "\\uf26e", "styles": ["brands"], "label": "500px"}, "accessible-icon": {"unicode": "\\uf368", "styles": ["brands"], "label": "Accessible Icon"}, "accusoft": {"unicode": "\\uf369", "styles": ["brands"], "label": "Accusoft"}, "acquisitions-incorporated": {"unicode": "\\uf6af", "styles": ["brands"], "label": "Acquisitions Incorporated"}}
Итак, проблема в том, что я начинаю с двойной косой черты. Я открыт для метода предварительной обработки этого JSON в python, если есть способ получить символы Юникода таким способом.