请教如何把1个QString数字字符串转换成16进制的QString数字字符串

 我来答
夜独行孤单
2016-04-18 · TA获得超过3458个赞
知道大有可为答主
回答量:2803
采纳率:82%
帮助的人:615万
展开全部
char* m_pData;
memcpy(m_pData, pData, nLength);
m_nLength = nLength;

//char存储到QString里
for (int i = 0; i < m_nLength; i++)
{
bool ok;
QString m_tmp = QString::number(*m_pData,16);

//接收字符为0x00,变字符串为00
if (m_tmp.toInt(&ok,10) == 0)
{
m_tmp = ("00");
}
//接收字符为0x04,0x07等,补足0
if ((m_tmp.toInt(&ok,10) < 10) && (m_tmp.toInt(&ok,10) > 0))
{
m_tmp = m_tmp.insert(0, "0");
}

m_exchange.append(m_tmp);
m_exchange.append(" ");
m_pData = m_pData + 1;
m_tmp.clear();
}
元小翠044
2016-04-18 · TA获得超过8.2万个赞
知道大有可为答主
回答量:2.4万
采纳率:89%
帮助的人:3107万
展开全部
QString str = "123";
QByteArray ba;
qDebug()<<ba.appand(str).toHex()<<endl;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
丿占戈灬龙哥
2016-04-18 · 知道合伙人软件行家
丿占戈灬龙哥
知道合伙人软件行家
采纳数:479 获赞数:1174

向TA提问 私信TA
展开全部
sprintf(m_tmp, "%2X",(unsigned char)*m_pData)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式