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 是一個二制的字符流 。如果你所看到的字符流如下圖一樣是以 “\0” 開頭的,然而在轉換過程中遇到 "\0" 這個字符串就會自動和結束了。同理,如果二進制的字符流中有 “\0” 也會自動結束,造成數據丟失。
