struct MyPackage{ quint16 field1; quint16 field2; quint32 varLenthArray[N]; quint16 field3;}
C++ (Qt)class Message{public: // удобные методы для работы с сообщением QByteArray pack() const; // метод упаковывает объект класса в QByteArray готовый для отправки static MessagePtr unpack( const QByteArray &buf ); // Функция распаковывает данные из buf и формирует объект сообщениеprivate: quint16 field1; quint16 field2; QVector<quint32> varLenthArray; quint16 field3;};
QDataStream::QDataStream ( QByteArray * a, QIODevice::OpenMode mode )+int QDataStream::writeRawData ( const char * s, int len )
C++ (Qt)QByteArray result;QDataStream os( &result ); ubyte v1 = 10;int v2 = 20;QString v3 = "Hi"; os << v1 << v2 << v3;