c++ - convert - Convierte std:: string en QString
como convertir un string a qstring (3)
Tengo un std::string content que sé que contiene datos UTF-8. Quiero convertirlo en un QString . ¿Cómo hago eso, evitando la conversión from-ASCII en Qt?
Hay una función QString llamada desde fromUtf8 que toma un const char* :
QString str = QString::fromUtf8(content.c_str());
Por lo general, la mejor manera de hacer la conversión es usar el método desde fromUtf8 , pero el problema es cuando tienes cadenas dependientes de la configuración regional.
En estos casos, es preferible utilizar fromLocal8Bit . Ejemplo:
std::string str = "ëxample";
QString qs = QString::fromLocal8Bit(str.c_str());
QString::fromStdString(content) es mejor ya que es más robusto. También tenga en cuenta que si std::string está codificado en UTF-8, entonces debería dar exactamente el mismo resultado que QString::fromUtf8(content.data(), int(content.size())) .