【发布时间】:2017-11-04 00:21:04
【问题描述】:
QByteArray byteArray;
QDataStream dataStream(&byteArray, QIODevice::WriteOnly);
dataStream << (quint8)22;
dataStream << "test2";
qInfo() << byteArray;
结果:\x16\x00\x00\x00\x06test2\x00
为什么使用 4 个字节而不是 1 个字节?我明确表示我希望它是unsigned char。幕后是否有一些记忆对齐?可以关掉吗?
编辑:似乎只有在我写 char* 时才会发生,它从无到有在开头添加了 3 个字节。
【问题讨论】:
标签: c++ qt serialization