Qt 不同字符类型转换
Windows 字符集
C++ 字符转换
Qt 字符编码
QString 与其他字符类型转换
QString 与 LPWSTR 类型转换
QString
转换为 LPWSTR
QString str("test");
std::wstring wstr = str().toStdWString();
LPWSTR lpwstr = (LPWSTR)wstr.c_str();
LPWSTR
转换为 QString
QString str1 = QString::fromStdWString(lpwstr);
QString 与 LPCWSTR 类型转换
与 QString 与 LPWSTR 类型转换
用法相同,将LPWSTR
改为LPCWSTR
QString 类型转换 LPTSTR
QString 与 char * 转换
QString str("High");
QByteArray ba = str.toLocal8Bit();
char *data = ba.data();
qDebug() << "data = " << data; // High
QByteArray ba1(data);
QString str1 = QString::fromLocal8Bit(ba1);
qDebug() << "str1 = " << str1; //High
QString 与 const char * 转换与上述相同,则改为 constData
。
QString 与 USHORT 转换
LANGID
的类型是 USHORT
,即 unsigned short
,下面将十六进制字符串转换为 LANGID
:
LANGID langid = QString("0x00000804").toUShort(&ok, 16); //2052
GUID UUID CLSID IID
显示中文
1、使用 tr()
翻译
2、fromLocal8Bit 函数
QString strCHN(QString::fromLocal8Bit("中文"));