string中文乱码
时间: 2023-11-20 22:06:45 浏览: 82
为了避免string中文乱码问题,可以使用QString类来处理中文字符串。QString类提供了多种方法来处理不同编码格式的字符串,例如fromLocal8Bit()、fromUtf8()和fromUtf16()等函数。其中,fromLocal8Bit()函数适用于处理本地编码的字符串,而fromUtf8()和fromUtf16()函数则适用于处理UTF-8和UTF-16编码的字符串。下面是一个例子:
```cpp
#include <QString>
#include <iostream>
int main()
{
// 使用fromLocal8Bit()函数处理本地编码的字符串
QString str1 = QString::fromLocal8Bit("你好");
std::cout << str1.toStdString() << std::endl;
// 使用fromUtf8()函数处理UTF-8编码的字符串
QByteArray utf8Data = "你好";
QString str2 = QString::fromUtf8(utf8Data);
std::cout << str2.toStdString() << std::endl;
// 使用fromUtf16()函数处理UTF-16编码的字符串
ushort utf16Data[] = {0x4F60, 0x597D, 0x0000}; // UTF-16编码的字符串
QString str3 = QString::fromUtf16(utf16Data);
std::cout << str3.toStdString() << std::endl;
return 0;
}
```
阅读全文