QString a = "是\n";输出不乱码,'\n'去掉打印乱码
时间: 2024-03-27 21:40:10 浏览: 55
vs使用qt代码,打印为乱码,调整正常打印插件qt4.natvis
3星 · 编辑精心推荐
这是因为在 Windows 平台上,换行符 '\n' 和回车符 '\r' 组成的字符序列 "\r\n" 才能正确地表示一行的结束。如果你只输出了 '\n',则可能会造成乱码的情况。
如果你想要输出不乱码的字符串 "是\n",可以考虑使用 QString 类的 toUtf8() 函数将字符串转换为 UTF-8 编码的字节数组,然后使用 QTextCodec 类的 fromUnicode() 函数将字节数组转换为本地编码的字符串输出。
具体实现如下:
```cpp
QString a = "是\n";
QByteArray ba = a.toUtf8();
QString str = QTextCodec::codecForLocale()->toUnicode(ba);
qDebug() << str;
```
这样就可以输出不乱码的字符串 "是\n" 了。
阅读全文