[PyQt] QDataStream.writeUInt8 and writeInt8 unfriendly
Jarosław Białas
jarekbialas.bialy at gmail.com
Sat May 26 23:15:02 BST 2012
Hi,
2012/5/26 Mickaël THOMAS <mickael9 at gmail.com>:
>> Type quint8 is an unsigned byte so I think that char is better solution.
>> http://qt-project.org/doc/qt-4.8/qdatastream.html#operator-lt-lt-3
>
> What do you mean by "char is a better solution" ?
>
Precision and range of a variable is the same.
> q(u)int8 is supposed to represent an 8-bit (un)signed number, and the
> documentation says "unsigned byte" too, it's not meant to represent a
> char.
Ok, so what is the difference between 8-bit unsigned int and 8-bit
unsigned char?
> The problem is that quint8 is typedef unsigned char which leads SIP to
> convert it to a python bytes/str because python chars are one-long
> strings.
unsigned char could be also treated like one-long string.
> SIP should be modified so that unsigned char is represented as a
> python integer (signed char should be still converted to bytes)
Why? I mean why usnigned char -> int is good but char -> int is bad?
> _______________________________________________
> PyQt mailing list PyQt at riverbankcomputing.com
> http://www.riverbankcomputing.com/mailman/listinfo/pyqt
What about bigger numbers? How to represent 256? This method
(QDataStream.writeUInt8) writes quint8 so what it should do: write
0x01 and 0x00, 0x00 and 0x01, just 0x00 or just 0x01?
I think there is reason why in Qt you can not pass quint16 or
something with bigger range to QDataStream.writeUInt8.
Regards,
Jarek
More information about the PyQt
mailing list