16进制数组转成10进制 qt_[转] QT十进制十六进制字符串转换

QByteArray在串口通讯中经常被使用,有一定必要较为全面详细的对QByteArray进行阐述。本文通过以下几个部分加以介绍:

初始化

访问与赋值

添加、删除、插入与替换操作

查找与比较

数据转换与处理

1 初始化

2 访问与赋值

访问QByteArray主要有4中方式,分别为[]、at()、data[]和constData[]。其中[]和data[]为可读可写,at()和constData[]仅为可读。如果仅是读,则通过at()和constData[]访问速度最快,因可避免复制处理。示例如下:

QByteArray ba;

ba.resize(6);

ba[0] = 0x3c;

ba[1] = 0xb8;

ba[2] = 0x64;

ba[3] = 0x18;

ba[4] = 0xca;

ba.data()[5] = 0x31;

qDebug()<

qDebug()<

qDebug()<

qDebug()<

qDebug()<

3 添加、删除、插入与替换操作

4 查找与比较

5 数据转换与处理

从串口读取到的QByteArray数据,一般需要进行提取和解析,此时就需要QByteArray转换为各类型数据。常用转换包括:

1)转为HEX,用于显示十六进制,这点在调试时特别有用,因为大多HEX码是没有字符显示的,如0x00、0x20等等;

2)转为不同进制数值并显示,如二进制、八进制、十进制和十六进制等;

3)转为整型、浮点型等数值类型;

4)大小写转换;

5)转为字符串类型;

5.1 Hex转换

把Hex编码转换为char存储到QByteArray:

QByteArray text = QByteArray::fromHex("517420697320677265617421");

text.data(); // returns "Qt is great!"

把QByteArray转为Hex编码:

QByteArray ba;

ba.resize

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值