[Qt-interest] How to get unicode data from socket?

Brad Hards bradh at frogmouth.net
Thu Jan 14 12:30:00 CET 2010


On Thursday 14 January 2010 22:20:00 Alex wrote:
> I have a program written in QT and it receives data via socket connection.
> The data format is:
> +--------------------+-----------------------+
> *| sizeOfData(4bytes) | Data (Unicode string) |*
> +--------------------+-----------------------+
> My questions are:
> 
>    1. After I read the first 4 bytes data, I use memcpy() to get/convert
>  the following data size. Does QT provide a convenient way to achieve this
>  instead of memcpy()?
>    2. I use QTcpSocket.read(sizeOfData), which returns the QByteArray, to
>    read the real data but I can't find a way to convert it to QString. How
>    should I do?
The answer to both these is probably just to use QDataStream. Note that 
QString serialisation format is very close to what you're doing - see 
http://doc.qt.nokia.com/4.6/datastreamformat.html

HTH

BRad



More information about the Qt-interest-old mailing list