QByteArray转QString
QByteArray转QString,网上有很多的转换方法。最方便得方法是以下这种方法:
QByteArray a;
QString str = QString(a);
qDebug()<<"str"<<str;
还有一种就转换成char *型的:
QByteArray plaintext;
const unsigned char *m_plaintext = reinterpret_cast<const unsigned char*>(plaintext.data());
qDebug()<<"plaintext"<<plaintext;
这种方法最后打印即QDebug输出的转换结果都是一个空的值。
原因:
此时应该用DeBug调试模式看里 QByteArray 的数据,QByteArray 是一个二制的字符流 。如果你所看到的字符流如下图一样是以 “ ” 开头的,然而在转换过程中遇到 " " 这个字符串就会自动和结束了。同理,如果二进制的字符流中有 “ ” 也会自动结束,造成数据丢失。