首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

Qt中16进制数据的QByteArray与QString的变换

2012-11-10 
Qt中16进制数据的QByteArray与QString的转换背景介绍:最近在做Qt串口相关PC机软件的开发。于是涉及到很多IO

Qt中16进制数据的QByteArray与QString的转换

背景介绍:

最近在做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。

热点排行