Преобразование std:: string в QString
у меня есть std::string content что я знаю, содержит данные UTF-8. Я хочу преобразовать его в QString. Как мне это сделать, избегая преобразования из-ASCII в Qt?
3 ответов:
QString::fromStdString(content)лучше, так как он более прочный. Также обратите внимание, что еслиstd::stringкодируется в UTF-8, то он должен дать точно такой же результат какQString::fromUtf8(content.data(), int(content.size())).
как правило, лучший способ сделать преобразование с помощью метода fromUtf8, но проблема в том, когда у вас есть строки, зависящие от локали.
в этих случаях предпочтительнее использовать fromLocal8Bit. Пример:
std::string str = "ëxample"; QString qs = QString::fromLocal8Bit(str.c_str());
Comments