[Interest] QSettings keys

Bertwim bwvb at xs4all.nl
Wed Aug 22 20:06:16 CEST 2018


This is what I observe:

For instance, if I enter the following, manually, in the ini file:

[  foo:bar  ]
line 1 = some text
    line:tail = indented + key has character ':'

and then look at the ini-file after it has been rewritten to disk, this 
has become:

[foo%3Abar]
line%201=some text
line%3Atail=indented + key has character ':'

Now, looking at the keys, removing the leading and trailing white spaces 
makes sense to me, as does removing the white spaces around the '='.
However, writing the space between 'line' and '1' with the %20 encoding, 
and likewise the %3A for the colon looks weird
and unnecessary, as they are normal ascii characters.

Regards
Bertwim


On 08/22/2018 06:57 PM, Thiago Macieira wrote:
> On Wednesday, 22 August 2018 01:42:20 PDT Bertwim wrote:
>> Hi,
>>
>> I have a problem with understanding QSettings.  I see that when the
>> settings are written back to file (ini-file, Linux) certain characters
>> such as <space>, ':' (colon), etc, written in their hexadecimal encoding
>> (%20 for space, %3A for ':').
>> When keys are read (from an ini file) these characters are read as
>> expected, but writing them back gives this encoding.
>> Why is this, and -more importantly- Is there any way to prevent this, at
>> least have the normal printable ascii characters written back to file
> Are you reporting that you don't get the same string back when you read from
> the file? That would be a bug and we'd need to fix it
>
> The escaping is used because those characters are special in the file format.
> For example, the following two lines declare the same key and value:
>
> foo=bar
>   foo = bar
>
> So, no, you cannot turn escaping off. You really want it.
>
>




More information about the Interest mailing list