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();}
新聞熱點
疑難解答