1、文本流设置unicode小端模式
2、写入文本前两个字节FF FE
3、字符串转成unicode编码
QList<QByteArray> list = QTextCodec::availableCodecs();
//可以获取Qt支持的编码,下面列出字符串的几种编码名称
//GBK GB2312
//unicode 小端
//UTF-8
//UnicodeLitteUnmarked 小端
//UnicodeBigUnmarked 大端
#include <QApplication>
#include <QFile>
#include <QTextStream>
#include <QTextCodec>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
// Widget w;
// w.show();
QFile fielWrite("a.txt");
if (!fielWrite.open(QIODevice::ReadWrite | QIODevice::Text | QIODevice::Truncate))
{
return 0;
}
QTextStream out(&fielWrite);
out.setCodec(QTextCodec::codecForName("unicode"));//unicode小端模式
//out.setAutoDetectUnicode(true); //好像没用处
QChar head = 0xfeff;//unicode文件头 文本里前两个字节为FFFE
out << head;
QString str = "我";//"我"在Qt文本编辑器里默认是UTF-8编码格式,转成QString之后为unicode编码
out << str;
fielWrite.close();
return a.exec();
}