<div dir="auto"><div><div data-smartmail="gmail_signature"><br></div><div class="gmail_quote"><div dir="ltr" class="gmail_attr">вс, 7 июл. 2019 г., 12:58 André Hartmann <<a href="mailto:aha_1980@gmx.de">aha_1980@gmx.de</a>>:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi Thiago,<br>
<br>
 > But QByteArray is encoding-indeterminate since it can carry any type.<br>
<br>
Correct, it is often used as "generic raw data array", e.g. in QFile,<br>
Q*Socket, QSerialPort, QCanBusFrame etc. Here we really need to treat<br>
the data as-is, without interpretation.<br>
<br>
 > Arguably, toUpper() and toLower() should be removed, since<br>
 ><br>
 >      QByteArray(u8"Résumé").toLower()<br>
 > is mojibake.<br>
<br>
I vote against that. If you got the "raw" data from a device as<br>
described above, you might want to do .toHex().toUpper() which is fully valid.<br></blockquote></div></div><div dir="auto"><br></div><div dir="auto">I'd argue against validity of the `ba.toHex().toUpper()` example, as it brings false impression that you're operating on a string, where in fact your intention is to re-code the binary data from one encoded form to another encoded form (ASCII in this case, and one would have to `QString::fromLatin1()` it explicitly to manipulate it further).</div><div dir="auto">From the other hand, `ba.toHex(Uppercase)` enforces the reader to treat it exactly like an uppercased hex (whatever that means), which is just another encoding form of the binary data.</div><div dir="auto"><br></div><div dir="auto">As we have string views now, I'd vote for deprecating the string manipulation methods in QByteArray. I doubt we could make <span style="font-family:sans-serif">QByteArray a true vector of bytes now, without breaking lots of the user code, but that could be a good first step.</span></div><div dir="auto"><br></div><div dir="auto"><br></div><div dir="auto">Best regards,</div><div dir="auto"><span style="font-family:sans-serif">Konstantin</span></div></div>