On 15.03.2017 11:15, Konstantin Tokarev wrote:
>
> 15.03.2017, 12:59, "Viktor Engelmann" <[email protected]>:
>> If the program is small and you don't want it to ever grow beyond ASCII,
>> using byte arrays is okay, but in my experience, if you want to be
>> future-proof, you should interpret byte-arrays *as soon as possible*.
>>
>> Then you have an object with a controlled format and you can use that
>> throughout your program, without worrying about encodings.
> In the modern world there is one portable encoding used for exchanging data
> between systems: UTF-8. So in wide range of applications one can safely
> assume all textual (!) byte array data to be UTF-8 or ASCII, and it causes no
> confusion. YMMV though.

I love UTF-8 myself, encode everything in it, but blindly assuming that
all data is always UTF-8 encoded is just asking for trouble.
On windows, many programs still use latin1 by default.
Also good luck finding out why

   if(c[i] == 0xC3 && c[i+1] == 0xA4)

doesn't catch the

  cc 88 61

in the input file (if you even notice that it doesn't).
QString::normalized to the rescue.

> Things change if you intermix textual and non-textual QByteArray's near in 
> your
> code, in this case it's better to store text strings in objects of different 
> class.
>
>> Keeping the
>> data raw will increase the probability that some module does something
>> wrong because it assumes a wrong encoding and breaks your results (i.e.
>> using bytewise comparison for string comparison, which works for ASCII,
>> but not for unicode - even if both have the same encoding, because there
>> are letters that have multiple different unicode codepoints).

-- 

Viktor Engelmann
Software Engineer

The Qt Company GmbH
Rudower Chaussee 13
D-12489 Berlin

[email protected]
+49 151 26784521

http://qt.io
Geschäftsführer: Mika Pälsi, Juha Varelius, Mika Harjuaho
Sitz der Gesellschaft: Berlin
Registergericht: Amtsgericht Charlottenburg, HRB 144331 B


_______________________________________________
Interest mailing list
[email protected]
http://lists.qt-project.org/mailman/listinfo/interest

Reply via email to