当前位置: 首页 > news >正文

Qt6 以后,QSettings 读取ini 文件固定使用utf-8 编码

RT,Qt6 以前,QSettngs 对象有个setIniCodec 方法,可以设置编码,但是Qt6 以后就没了,现在ini 文件的读写编码固定为UTF-8。

Qt6 的文档:

In line with most implementations today, QSettings will assume that values in the INI file are UTF-8 encoded. This means that values will be decoded as UTF-8 encoded entries and written back as UTF-8. To retain backward compatibility with older Qt versions, keys in the INI file are written in %-encoded format, but can be read in both %-encoded and UTF-8 formats.

Compatibility with older Qt versions

Please note that this behavior is different to how QSettings behaved in versions of Qt prior to Qt 6. INI files written with Qt 5 or earlier are however fully readable by a Qt 6 based application (unless a ini codec different from utf8 had been set). But INI files written with Qt 6 will only be readable by older Qt versions if you set the “iniCodec” to a UTF-8 textcodec.

翻译:

与目前大多数实现一样,QSettings 将假定 INI 文件中的值是 UTF-8 编码的。这意味着值将被解码为 UTF-8 编码条目,并以 UTF-8 写回。为了保持与旧版 Qt 的向后兼容性,INI 文件中的键值以 %-encoded 格式写入,但可以以 %-encoded 和 UTF-8 两种格式读取。

与旧版本 Qt 的兼容性

请注意,这一行为与 Qt 6 之前的 Qt 版本中 QSettings 的行为不同。使用 Qt 5 或更早版本编写的 INI 文件完全可以被基于 Qt 6 的应用程序读取(除非设置了不同于 utf8 的 ini 编解码器)。但只有将 “iniCodec ”设置为UTF-8 文本编解码器,用 Qt 6 编写的 INI 文件才能被旧版本的 Qt 读取。


总之就是省事了,不用管编码问题。不过有一点要注意,这里说是“值” 用utf-8 编码,所以值里可以兼容中文,但是键似乎还不一定。考虑键是QString,既然QString 能支持unicode,那按理说键里也应该能用中文,但也没准儿,懒得试。

http://www.dtcms.com/a/139406.html

相关文章:

  • Coco-AI 接入自定义数据源
  • 基于springboot医药连锁店管理系统(源码+lw+部署文档+讲解),源码可白嫖!
  • selenium 实现模拟登录中的滑块验证功能
  • 【android telecom 框架分析 01】【基本介绍 1】【telecom服务是干什么的?】
  • Linux软件仓库
  • 管家婆工贸ERP BB104.采购费用均价分摊
  • 【.net core】【watercloud】数据库连接报错问题
  • 总结【过往部分项目经历一(计算机图形学方向)】
  • 基于X86/Nvidia+FPGA大模型具身智能机器人控制器解决方案,同时拥有算力与实时的便利
  • 计算机网络 - UDP协议
  • 图像预处理-添加水印
  • 端侧大模型综述On-Device Language Models: A Comprehensive Review
  • 23种设计模式-创建型模式之工厂方法模式(Java版本)
  • TCP连接建立:为什么是三次握手?
  • nohup命令使用说明
  • R4打卡——tensorflow实现火灾预测
  • 【软考-系统架构设计师】ATAM方法及效用树
  • JVM考古现场(二十二):降维打击·用二向箔优化内存模型
  • UE学习记录part18
  • rk算力集群usb做网卡
  • 数据一致性问题剖析与实践(一)——冗余数据存储分布式共识决策中的一致性问题
  • 生成树协议的构成(STP)
  • 贝叶斯均衡
  • 快速认识:数据库、数仓(数据仓库)、数据湖与数据运河
  • 2025第十七届“华中杯”大学生数学建模挑战赛题目B 题 校园共享单车的调度与维护问题完整成品正文33页(不含附录)文章思路 模型 代码 结果分享
  • 【技术派后端篇】canal实现MySQL/Redis缓存一致性
  • OpenAI 推出一对 AI 推理模型 o3 和 o4-mini
  • 【数据结构_10】二叉树(1)
  • 解析检验平板:设备还是非设备?深入了解其功能与应用(北重铸铁平台厂家)
  • 三、小白如何用Pygame制作一款跑酷类游戏(按键图片和距离的计算)