1.代码文件本身编码;

2.Qt中用于控制读入和写出文件系统时的字符编码由QTextCodec::setCodecForLocale()所决定。一般不用设置,Qt跟系统交互时会根据系统的Locale来更改传给系统的参数的编码;

//utf8格式    QString str1("你好Hello\r\n");QByteArray bLocal = str1.toLocal8Bit(); // 受setCodecForLocale影响,会转换为设定的编码。如果本机不支持指定编码,则会按toLatin1处理QByteArray bUtf8 = str1.toUtf8();       // 不受setCodecForLocale影响,强制转换为UTF-8编码qDebug() << str1;                       // 正常,Qt会将UTF-16转换为UTF-8输出qDebug() << bLocal;                     // 乱码,用UTF-8编码输出GBK字节流qDebug() << bUtf8;                      // 正常,用UTF-8编码输出UTF-8字节流
QString str2 = QString::fromLocal8Bit(bLocal);qDebug() << str2;                       // 正常,因为上面显式指定字节流来自本机编码,而bLocal正是本机编码GBK
QString strTitle("你好Hello");QFile file(strTitle);if(!file.open(QIODevice::WriteOnly|QIODevice::Append))return false;file.write(QString::fromUtf8("你好啊Hello测试中\r\n").toLocal8Bit());file.write(bUtf8);file.write(bLocal);file.write("1122测试中\r\n");file.write(QString::fromUtf8("你好啊Hello\r\n").toLocal8Bit());file.close();//gbk格式  
 QString str1=QString::fromLocal8Bit("你好Hello\r\n");QByteArray bLocal = str1.toLocal8Bit(); // 受setCodecForLocale影响,会转换为设定的编码。如果本机不支持指定编码,则会按toLatin1处理QByteArray bUtf8 = str1.toUtf8();       // 不受setCodecForLocale影响,强制转换为UTF-8编码qDebug() << str1;                       // 正常,Qt会将UTF-16转换为UTF-8输出qDebug() << bLocal;                     // 乱码,用UTF-8编码输出GBK字节流qDebug() << bUtf8;                      // 正常,用UTF-8编码输出UTF-8字节流QString str2 = QString::fromLocal8Bit(bLocal);qDebug() << str2;                       // 正常,因为上面显式指定字节流来自本机编码,而bLocal正是本机编码GBKQString strTitle=QString::fromLocal8Bit("你好Hello");QFile file(strTitle);if(!file.open(QIODevice::WriteOnly|QIODevice::Append))return false;file.write(QString::fromLocal8Bit("你好啊Hello测试中\r\n").toLocal8Bit());file.write(bUtf8);file.write(bLocal);file.write("1122测试中\r\n");file.write(QString::fromLocal8Bit("你好啊Hello\r\n").toLocal8Bit());file.close();

  

 

转载于:https://www.cnblogs.com/karltong/p/9408819.html

Qt字符编码,创建中文文件相关推荐

  1. QT项目之创建.pri文件

    QT项目之创建.pri文件: https://www.cnblogs.com/xiangtingshen/p/11009627.html 怎么创建pri文件: 第一步:用Qt新建你需要的项目(假如所在 ...

  2. 前端网页、php与mysql数据库字符编码(解决中文等乱码问题

    web开发中经常涉及前端网页--php--mysql之间的数据交互,当数据只有英文时通常不会有什么问题,但一旦涉及中文,三个地方的某一处字符编码不一致(如,网页使用的时gbk而mysql使用utf-8 ...

  3. 关于字符编码,中文所占字节的整理。

    1个字节byte=8bit(比特/位)  1bit=0.125B字节 1个汉字两个字节 16bit,2B. 字符:汉字,数字,字母等 Byte,bit是存储单位 Bit--比特 B --字节  KB- ...

  4. qt字符编码及数据格式转换

    1.字符编码 QString: QString内部可能是使用unicode字符集来存储文字,UTF-8以字节为单位对Unicode进行编码.QString里面的汉字是UTF-8编码的字符集,QStri ...

  5. 如何在Qt Creator中创建pri文件,以及pri文件的说明

    版权声明:本文为博主原创文章,但凡转载此博客者必须附上博客链接 初学Qt的人可还不会接触到这个问题,但是一旦你开始编写某个较大项目的时候,这个问题就不可避免需要解决. 对于大神们来讲可能这是个很简单的 ...

  6. 设置mysql的字符编码解决中文乱码问题

    配置说明 mysql5提供了以下几个设置字符集的系统变量: character_set_client 客户端字符集 character_set_connection 客户端与服务器端连接采用的字符集 ...

  7. linux 创建中文文件夹,linux下创建文件和文件夹-Go语言中文社区

    使用linux系统会有一些常见的命令,譬如说,创建文件夹,创建文件,这些命令都是比较常见的. 方法/步骤 首先说一下touch 创建二进制文件,用法就非常的简单,touch+文件名   之间一定要空格 ...

  8. Qt设置编码、样式文件、窗体居中和开机自启等方法

    #include <QtCore> #include <QtGui> #include <QDesktopWidget>class QtHelper: public ...

  9. Qt 字符编码转换(UTF-8 转换为 GBK) \u7528\u6237\u672a\u7b7e\u7ea6

    UTF-8 转换为 GBK \u7528\u6237\u672a\u7b7e\u7ea6 编码知识(\u7528\u6237\等的就是Unicode编码) 转换编码示例 编码知识(\u7528\u62 ...

最新文章

  1. pyqtdeploy教程_PyQtdeploy-V2.4 User Guide 中文 (一)
  2. 时间序列(三)滑动窗口
  3. EBGAN, LSGAN, BEGAN
  4. 一劳永逸解决IDEA 2019.3连接MySQL80时区(serverTimezone)问题
  5. cordova在IOS初次运行,loading加载很久的解决办法
  6. MySQL—相关子查询
  7. copy构造函数使用深copy
  8. 呕心沥血为小白总结13个学习网站-错过了你注定绕弯!
  9. python显示目录中的文件_Python中的文件和目录操作实现
  10. 联想服务器开启虚拟化,联想电脑虚拟化开启方法
  11. C++智能指针(二)模拟实现三种智能指针
  12. 解开玻尔兹曼机的封印会发生什么?
  13. 万万没想到,AI算法开发、OCR应用已经进入零门槛时代!
  14. html搜索框如何加下拉框,js实现带搜索功能的下拉框
  15. C Tricks(十一)—— 排除一个二维数组的边界
  16. qq浏览器网页翻译_在线英文翻译、文档翻译,这几款翻译工具你值得拥有
  17. oracle中rollback的使用方法
  18. 逍遥模拟器android4.0版本,逍遥安卓模拟器工作室版
  19. Chrome插件-Dark reader,护眼的黑暗模式浏览器
  20. Axure RP入门知识-基础功能介绍

热门文章

  1. magento常用软件
  2. C# 使用HttpWebRequest提交ASP.NET表单并保持Session和Cookie
  3. linux 文件管理 教程,Linux文件管理
  4. mac自带php7降级,MAC更新自带php版本到7.0
  5. java动态打jar包_java动态加载jar包
  6. linux 脚本 字符串函数调用函数调用,shell自定义函数及参数调用解析
  7. php更改asp.net教程,ASP.NET 教程
  8. python中的随机函数怎么用_Python中随机数的使用方法有那些?
  9. 黑龙江科技大学计算机类分数线,2019年黑龙江科技大学优势专业排名及分数线...
  10. keyshot卡住了还能保存吗_倒入醒酒器的红酒一次没喝完,还能倒回酒瓶保存吗?...