[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