本段代码借鉴http://blog.sina.com.cn/s/blog_17eeb62200102xdwg.html,原文有QByteArra与十六进制相互转换的方法,本文只是修改成了不同的显示方式。
****************************************************************************************************************************
QByteArray类型转为十六进制字符串,
如 char *s ="0x23,0x7D...“格式
QString ByteArrayToHexString(QByteArray data){
QString ret(data.toHex().toUpper());//转为16进制大写
int len = ret.length()/2;
qDebug()<<len;
ret.insert(0,"0x");
for(int i=1;i<len;i++)
{
qDebug()<<i;
ret.insert(4*i+i-1,",0x");//编写格式
}
return ret;
}
测试结果为:"0xD3,0xB2,0x8A,0xB6,0x14,0x19,0xC4,0x86,0x6F,0x7D,0xDB,0xC1,0x78,0x7E,0x56,0x5F"