1. QString 转 string
1 QString qstr = "测试"; 2 string str = qstr.toStdString();
在qt4中,QString::toStdString() 转的string的编码是Unicode
需要转unicode编码的string,用toStdString(),需要转utf-8编码的string,用
1 QString qstr = "测试"; 2 string str = qstr.toUtf8().data();
在qt5中,QString::toStdString()转的string的编码是utf-8
需要转unicode编码的string,用
1 QString qstr = "测试"; 2 string str = qstr.toLocal8Bit().data()
需要转utf-8编码的toStdString()
1 QString qstr = "测试"; 2 string str = qstr.toStdString();
2. string 转 QString
因为在qt4和再qt5中的QString::fromStdString()的编码格式的改变,转QString略有不同。
在qt4中:utf-8 string 转QString
1 string str = "测试"; 2 QString qstr =QString::fromUtf8(str.c_str());
Unicode string 转 QString
1 string str = "测试"; 2 QString qstr = QString::fromStdString(str);
在qt5中:utf-8 string 转QString
1 string str = "测试"; 2 QString qstr = QString::fromUtf8(str);
Unicode string 转 QString
1 string str = "测试"; 2 QString qstr = QString::fromStdString(str);
3. string 转 char*
1 string str = "测试"; 2 char* ch = str.c_str();
4. char* 转 string
1 char* ch = "测试"; 2 string str = ch;