背景介紹:
最近在做Qt串口相關PC機軟件的開發。於是涉及到很多IO的操作,而IO的接收經常會存放在QByteArray裡面。於是QByteArray和QString之間的轉換就不可避免。
像這種轉換,在網上已經很多了,這裡我著重介紹我在實際應用中的兩種方法,而且是轉換為16進制數的方法。
QByteArray to QString 的第一種方法:
/**************************************************************************/
QByteArray byteArrayTempInfo;
* * * *
byteArrayTempInfo.toHex();
/**************************************************************************/
這種方法比較方便,將AByteArray中的數據一下子轉換成了一個QString。
QByteArray to QString 的第二種方法:
/**************************************************************************/
QByteArray byteArrayTempInfo;
* * * *
unsigned char iTemp = byteArrayTempInfo.at(i);
QString str = QString::number(iTemp&0xff,16);
if(iTemp<10) str .insert(0,"0"); //注意
/**************************************************************************/
這種方法不如以第一種方法好用,要注意0xff的運用。同時有一個細節,要注意當有一些數據小於10的時候要補上0。