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.
_______________________________________________
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest