[PyQt] Missing method for QByteArray and Python3?

Phil Thompson phil at riverbankcomputing.com
Sun Jan 10 12:12:59 GMT 2010

On Sat, 9 Jan 2010 18:33:32 +0100, detlev <detlev at die-offenbachs.de> wrote:
> Hi,
> really often I have this kind of code in my application when it comes to 
> converting a QByteArray to s string under Python 3.1.
> s = bytes(QByteArray).decode()
> In Python 2 one could use 
> s = unicode(QByteArray)
> to get the same result. Did I miss something or could QByteArray get a 
> decode() method to make it similar to a Python3 bytes or bytearray type?

The Python3 way to do it is...

s = str(QByteArray, encoding='ascii')

...or whatever encoding is used.

It would be possible to change things so that...

s = str(QByteArray)

...automatically uses the default encoding. However that would then make it
inconsistent with the behaviour of...

s = str(bytes)

...and I'm not sure that that is a good idea.


More information about the PyQt mailing list