如何实现 qt 中qfile写出的文本 设置为unicode编码 在线等 谢谢。。。
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何实现 qt 中qfile写出的文本 设置为unicode编码 在线等 谢谢。。。相关的知识,希望对你有一定的参考价值。
参考技术A //主要是用到QTextStream的setCodec()函数QFile file("in.txt");
if (!file.open(QIODevice::ReadOnly | QIODevice::Text))
return;
QTextStream in(&file);
in.setCodec("unicode");
while (!in.atEnd())
QString line = in.readLine();
//进行相关处理
追问
你这个是读取勒 我需要写入 而且 写入的时候用这种方式写出来的东西是有问题的 我测试过
追答我刚才测试了,很遗憾,达不到你的要求。尝试了unicode编码,写入文件总是乱码。只有用gb18030 才不会写入文件乱码。 下面是代码,或许对你来说没啥用。
#include
#include
#include
#include
#include
#include
int main(int argc, char *argv[])
QApplication a(argc, argv);
QTextCodec::setCodecForCStrings(QTextCodec::codecForName("gb18030"));
QLabel textLabel;
QFile file("in.txt");
if (!file.open(QIODevice::ReadWrite | QIODevice::Text))
qDebug()<<"open file failure!!!!";
QTextStream out(&file);
// out.setCodec("unicode");
QString text ("中文文本写入测试");
// out << text.unicode();
out<<text;
out.seek(0);
while (!out.atEnd())
QString line = out.readLine();
//进行相关处理
textLabel.setText(line);
textLabel.show();
return a.exec();
qfile 没得编码设置的 我找过了 。。。没有setCodec 或者setEncoding之类的函数
追答那就按照楼下的方法试试,一行一行的处理,实在不得行就一个个字符的处理,
以上是关于如何实现 qt 中qfile写出的文本 设置为unicode编码 在线等 谢谢。。。的主要内容,如果未能解决你的问题,请参考以下文章