用四个字节存储100的ASCII码。首先将整形数据100转为四位16进制,之后每个字符按ASCII形式存入QByteArray型的数据中,每个字符占用一个字节。此处提供两种方法:
方法一:
首先,将整形数据首先转为指定位数的16进制:
QString hex = QString("%1").arg(temp, 4, 16, QLatin1Char('0'));//转为4位16进制,不够四位前面补零
之后将每个字符存入QByteArray型的数据中,一个字符占用一个字节:
QByteArray arr1;
arr1[0] = hex.at(0).toLatin1();//hex.at(0)返回的是QChar型数据
arr1[1] = hex.at(1).toLatin1();
arr1[2] = hex.at(2).toLatin1();
arr1[3] = hex.at(3).toLatin1();
打印出arr1的数据检验转换是否正确:
qDebug() << "arr1.data()=" << arr1.toHex();
100的16进制用四位表示是0x0064,每一位按ASCII分别是 30 30 36 34,可知打印输出正确。
…
…
方法二
首先,将整形数据首先转