В каком месте я делаю что-то не то?
#include <QDebug>
#include <QBuffer>
#include <QDataStream>
#include <QIODevice>
#include <QByteArray>
#include <QString>
int main( int argc, char** argv )
{
QByteArray ba;
QBuffer buf( &ba );
buf.open( QIODevice::ReadWrite );
QDataStream in( &buf );
in << QString( "String" );
buf.close();
qDebug() << ba;
// на выходе: "
}