convertir convert como c++ string qt utf-8 qstring

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())) .