char* gbk 如何转成 QStirng utf-8 当前环境编码不是gbk
时间: 2023-05-26 09:04:12 浏览: 234
可以先将GBK编码的char*转换成Unicode编码的QString,再将QString转换成当前环境使用的编码格式,如下所示:
```
char* strGBK = "中文字符串";
QString strUnicode = QString::fromLocal8Bit(strGBK);//将GBK编码的char*转换成Unicode编码的QString
QString strUtf8 = strUnicode.toUtf8();//将Unicode编码的QString转换成当前环境使用的编码格式,如utf-8
```
其中,`fromLocal8Bit`函数可以将国内常用的GBK编码的char*转换成Unicode编码的QString,`toUtf8`函数则可以将Unicode编码的QString转换成当前环境使用的编码格式,如utf-8。
相关问题
char* gbk如何转成 QStirng utf-8
可以使用以下方法将 GBK 编码的 char* 转换为 QString 的 UTF-8 编码:
```c++
// 定义 GBK 编码字符串
char* gbkStr = "你好,世界!";
// 将 GBK 编码的字符串转换为 Unicode 编码的字符串
QString tempStr = QString::fromLocal8Bit(gbkStr);
// 将 Unicode 编码的字符串转换为 UTF-8 编码的字符串
QString utf8Str = tempStr.toUtf8();
```
注意:需确保当前环境的字符编码格式为 GBK,否则可能会出现乱码问题。
阅读全文