Я прочитал строку из файла XML с кодировкой UTF8. Я храню это значение в QString
возразить и объединить его с некоторой другой информацией. В отладчике QtCreator я вижу, что QString
содержит желаемое значение.
Мне нужно передать эту строку в другую библиотеку, которая принимает const char *
аргумент. Как мне получить const char *
пожалуйста? я пробовал toLocal8bit()
, toLatin1()
, toUtf8()
все без удачи. Похоже, я что-то упустил …
Мне нужно передать эту строку в другую библиотеку, которая принимает const char
* аргумент Как мне получить const char *, пожалуйста? Я пытался toLocal8bit (), toLatin1 (), toUtf8 () все без удачи. Похоже, я
что-то упустил …
Потому что, если вы попробуете это, вы получите только QByteArray
назад, в отличие от const char*
, Вы могли бы использовать constData () метод на QByteArray
Вы получили этот путь, и тогда у вас будет желаемый результат.
смешивание std::string
а также QString
не является необходимым, следовательно, лучше пройти через типы QT (QString -> QByteArray -> const char*
) без представления std::string
здесь.
Где вы используете toLocal8bit()
, toLatin1()
или же toUtf8()
зависит от вашей кодировки, так что это вопрос, отличный от основного здесь. Они все вернут QByteArray
тебе.
Примечание: вы должны избегать использования toAscii()
хотя как это устарело в Qt 5 навсегда.
Других решений пока нет …