1.QT字符编码格式判断
QString GetCorrectUnicode(const QByteArray &ba)
{
QTextCodec::ConverterState state;
QTextCodec *codec = QTextCodec::codecForName("UTF-8");
QString text = codec->toUnicode( ba.constData(), 1, &state);
qDebug() <<state.invalidChars;
if (state.invalidChars)
{
text = QTextCodec::codecForName( "GBK" )->toUnicode(ba);
}
else
{
text = codec->toUnicode(ba);
}
return text;
}
2.QString与std::string转换
std::string qstrToStr(const QString qstr)
{
QByteArray data = qstr.toLocal8Bit();
return std::string(data);
}
QString strToQstr(const std::string str)
{
return QString::fromLocal8Local(str.data());
}