QSettings中文配置内容

QSettings可以用来读取和存储持久化的配置内容,一般从.ini为后缀的配置文件中存读。

mysettings.ini文件内容示例如下:

[ServerInfo]
serverIp=http://192.168.108.108
serverPort=8888
serverWebsocket=ws://192.168.108.100:8888/websocket

[CLientInfo]
clientName=xxx监控系统

[UserInfo]
USERNAME="YWRtaW4="
PASSWORD=MTIzcXdl

如果要读取客户端名字,则使用方式为:

cfgSettings= new QSettings(QApplication::applicationDirPath() + "/myysettings.ini", QSettings::IniFormat, this);

cfgSettings->setIniCodec("UTF8");//以utf8格式存储
QString clientName=cfgSettings->value("ClientInfo/clientName", QStringLitera("读取失败时返回的默认内容")).toString();

其中,这里规定了ini文档是utf8编码(unicode字符集的一种编码方式),则需要mysettings.ini是以utf8编码,这样对应的才能解析。

如果要修改,则:

QString newName=QStringLiteral("新名字");
myettings->setValue("ClientInfo/clientName", newName);

QSettings使用简单,主要是很多同学在使用中文的时候出问题。要么写入了乱码,要么读取了乱码。其实,编码问题我们只需要把写或者读的过程,一步步拆开来理解,他就被扒光,没有秘密了。

写UTF8编码的字符串 (A):1.将A以utf8 编码成二进制数据a,将该二进制数据a,写入文档。

读UTF8编码数据:获取二进制数据a,以utf8解码,得到对应字符串内容,然后展示。

所以,关键在于,二进制数据以怎样的规范编解码。编码,即规范。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值