QT QByteArray的十进制与十六进制(字符型) 互相转换 -串口编程

2023-05-16

串口使用中会经常用到。目前使用到的是QByteArray::number(源数据 ,目标输出的进制)。作下记录,以供日后参考。
转制方法有很多,这只是其中一种,有其他QT的进制转换方法,欢迎评论区交流!

十进制转为十六进制(tmp[0] = ‘0x14’)

int num = 20;
//1、把输入的十进制数据转换为16进制。 QByteArray::fromHex代表读取十六进制数据,------
qDebug() << QByteArray::fromHex( QByteArray::number(num,16) ); // 0x14
//2、上下这俩代码等效------------
QByteArray tmp;
tmp.append(num );


long a = 63; // 十进制数
QString s = QString::number(a, 16);            // s == "3f"
QString t = QString::number(a, 16).toUpper();  // t == "3F"

十六转十进制

int b = 0x70;  //其实这样存储后,直接输出就是整型数据
// 把这个数据转换为10进制字符串,此时number_tmp 变为字符串'112'
QString number_tmp = QString::number(b,10);
qDebug() <<number_tmp.toUInt(); // 这个函数默认以十进制输出base=10

// QByteArray存的十六进制转成string和int
QByteArray tmp;
tmp[0] = 0x1a;
QString msg = tmp.toHex();
int num = msg.toInt(NULL,16);// toInt的16代表数据是16位
qDebug() << "msg :" << msg  << "; num : " << num;

另外:QString.toUInt() 可以指定任何进制(如十六进制)输出为十进制
如指定 【输入格式为16进制】的整型数

 QString str = "FF";
 bool ok; // 标志位,可以为NULL

 uint hex = str.toUInt(&ok, 16);     // hex == 255, ok == true
 uint dec = str.toUInt(&ok, 10);     // dec == 0, ok == false

记录一个组装QByteArray数组命令的过程 - QT 串口通信

    // 组装命令
    QByteArray AT_cmd;
    AT_cmd.resize(buf_len);
    AT_cmd.clear();
    AT_cmd.append(QByteArray::fromHex("21547A"));
    AT_cmd.append(QByteArray::fromHex( tmp.toHex().toUpper() ) ); // 商品中文名称
    AT_cmd.append(QByteArray::fromHex("0x64") );  // 价格--需要从数据库中提取
    AT_cmd.append(QByteArray::fromHex(QString::number(number.toUInt(),16).toLatin1()) );  // 数量

    // 计算校验码 -- 是unsigned char类型
    uint8_t crc[2] = {0};
    check_sum(crc,(unsigned char *)AT_cmd.data(),AT_cmd.length()-2); // 需要校验的长度是当前长度 - 2字节
    AT_cmd.append(QByteArray::fromHex( QByteArray::number(crc[0],16) ) ); // 载入校验码
    AT_cmd.append(QByteArray::fromHex( QByteArray::number(crc[1],16) ) ); // 载入校验码
    AT_cmd.append(QByteArray::fromHex("22"));
    AT_cmd.append(QByteArray::fromHex("44"));
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

QT QByteArray的十进制与十六进制(字符型) 互相转换 -串口编程 的相关文章

  • P1661 扩散

    P1661 扩散 题目描述 一个点每过一个单位时间就会向四个方向扩散一个距离 xff0c 如图 两个点a b连通 xff0c 记作e a b 当且仅当a b的扩散区域有公共部分 连通块的定义是块内的任意两个点u v都必定存在路径e u a0
  • java 返回两个list_Java 获取两个List的交集和差集,以及应用场景操作

    背景介绍 在实际项目中 xff0c 特别是一些管理后台类的项目 xff0c 会遇到底层数据是按照一对多关系的数据表存储的管理界面 列表页是一对多关系中一对应的数据列表 xff0c 二级的详情页中是一对多关系中多对应的多条数据展示 通常二级页
  • 微服务注册中心注册表与hashcode实现golang版

    背景 基于负载均衡的服务调用 基于负载均衡的服务相互调用指的是通过基于Lvs Haproxy Nginx等负载均衡软件来构建一个负载均衡服务 xff0c 所有的服务调用都通过负载均衡器 从负载均衡的这种模式下其实有两个主要的问题 xff1a
  • cookie txt format

    2019独角兽企业重金招聘Python工程师标准 gt gt gt cookies txt Tab separated columns are Domain Only Sent To Creator Path Secure Expires
  • linux环境变量设置 profile,Linux 环境变量 设置 etc profile

    一 Linux的变量种类 按变量的生存周期来划分 xff0c Linux变量可分为两类 xff1a 1 永久的 xff1a 需要修改配置文件 xff0c 变量永久生效 2 临时的 xff1a 使用export命令声明即可 xff0c 变量在
  • Debian 7 桌面美化

    2019独角兽企业重金招聘Python工程师标准 gt gt gt 一 安装中文字体 1 文泉驿 查找 xff1a apt cache search wqy 可能输出如下信息 xff1a ttf wqy microhei A droid d
  • mysql编程展示数据_Mysql的列修改成行并显示数据的简单实现

    创建测试表 xff1a DROP TABLE IF EXISTS 96 test 96 CREATE TABLE 96 test 96 96 year 96 int 11 DEFAULT NULL 96 month 96 int 11 DE
  • LINUX:window下使用debian安装虚拟环境

    windows系统下 xff0c 使用debian做开发 xff0c 使用的是python编程语言 首先 xff0c 要安装pip 安装命令 xff1a apt install python3 pip 如果使用这个命令后出现如下错误提示 x
  • 如何“优雅地”进行Jetson nano 学习

    RT 其实就是面对多场景应用时 xff0c nano不可能待在同一个地方 xff0c 要么在车上 xff0c 在机器人上 我们扛着一 个大显示器到处跑肯定是不太现实的 xff0c 当然 xff0c 如果想要锻炼身体的同学另说 xff01 改
  • xmake入门,构建项目原来可以如此简单

    前言 在开发xmake之前 xff0c 我一直在使用gnumake makefile来维护个人C C 43 43 项目 xff0c 一开始还好 xff0c 然而等项目越来越庞大后 xff0c 维护起来就非常吃力了 xff0c 后续也用过一阵
  • haproxy负载均衡

    os xff1a root 64 node1 cat etc system release CentOS release 6 4 Final 参考文章 xff1a http www serverlab ca tutorials linux
  • 无线网络wifi (WPA/WPA2)密码破解方法

    无线网络password破解WPA WPA2教程 本教程用于探索无线路由安全漏洞 xff0c 禁止用于非法用途 xff0c 违者法律必究 xff08 与我无关 xff09 在动手破解WPA WPA2前 xff0c 应该先了解一下基础知识 x
  • 关于心跳ajax请求pending状态(被挂起),stalled时间过长的问题。涉及tcp连接异常。...

    环境 xff1a 景安快云服务器 xff08 听说很垃圾 xff0c 但是公司买的 xff0c 我也刚来 xff09 xff0c CentOS 6 8 x86 64 xff0c Apache xff0c MySQL5 1 xff0c PHP
  • 【遥感专题系列】微波遥感(三、SAR图像特征)

    SAR是主动式侧视雷达系统 xff0c 且成像几何属于斜距投影类型 因此SAR图像与光学图像在成像机理 几何特征 辐射特征等方面都有较大的区别 在进行SAR图像处理和应用前 xff0c 需要了解SAR图像的基本特征 本文主要包括 xff1a
  • Python可以用来做什么?这4个在平常生活中都可以用到

    Python是一个非常好用的程序语言 xff0c 开发的速度非常快 xff0c 你都知道Python可以用来做什么吗 xff1f 下面我将介绍几个简单的小程序 xff0c 你也可以试一试 xff01 1 网易云音乐批量下载 你可以利用Pyt
  • Next.js脚手架进阶 — 完美契合ant-design

    前言 上次入门完了之后感觉意犹未尽 xff0c 总觉得这个脚手架还是不太完美 xff0c 还有可以改进的地方 xff0c 所以为了与人方便也是与己方便 xff0c 就继续写几篇吧 xff5e xff0c 不过既然之前的叫做入门系列 xff0
  • Python实现“淘宝自动发货机器人”

    背景 之前看到朋友下载csdn资源 xff0c 但因为没有下载积分 xff0c 因此他会在淘宝上购买一个叫做 csdn资源代下 的业务 对我来说 xff0c 也许这是一个商机 xff08 因为刚好提交了一个csdn漏洞 xff0c 得到了一
  • Javascript定时器那些事儿

    一 什么是定时器 JS提供了一些原生方法来实现延时去执行某一段代码 xff0c 下面来简单介绍一下 setTimeout 设置一个定时器 xff0c 在定时器到期后执行一次函数或代码段 var timeoutId 61 window set
  • new Date() 方法到底是获取什么时间

    2019独角兽企业重金招聘Python工程师标准 gt gt gt 1 问题 java 中 xff0c new Date 方法 获取的时间 xff0c 究竟与当前的系统时间有什么关联 xff1f 简单的时刻对应关系吗 xff1f 2 测试环
  • Windows使用

    将压缩包安装的软件放入开始菜单 平台需求配置 平台 本文针对windows平台 xff0c 在win11上进行过测试 xff0c 其他平台请自行确认是否可用 需求 最近在安装软件时 xff0c 发现了一个问题 很多软件直接给一个压缩包 xf

随机推荐

  • Python装饰器高级版—Python类内定义装饰器并传递self参数

    本文重点 xff1a 解决了类里面定义的装饰器 xff0c 在同一个类里面使用的问题 xff0c 并实现了装饰器的类属性参数传递 目录 xff1a 一 基本装饰器 二 在类里定义装饰器 xff0c 装饰本类内函数 三 类装饰器 正文 xff
  • 华为交换机链路聚合命令

    配置链路聚合 1 创建聚合组 sys interface eth trunk 2 2 配置聚合模式为手工模式 interface eth trunk 2 mode manual load balance 表示手工模式 mode lacp l
  • VC EXE程序删除自身

    在开发程序过程中 xff0c 有许多情况中都需要执行程序自己把自己从物理磁盘上删除 xff0c 例如 xff0c 卸装程序 xff0c 一些黑客程序获取信息后自清除等 xff0c 我们把这些具有自删除功能的程序统称为 自杀 程序 对于一名程
  • 理解WinRT

    WinRT Windows Runtime 是微软新一代在Win8 Metro下开发框架 xff0c 它是一套面向对象 跨语言并且是Native的库 如果有人问我WinRT的核心技术是什么 xff1f 我的答案是 COM 43 Net Me
  • vim 基本使用

    vim 下基本命令 重新加载 vimrc source vimrc 列出当前缓冲区的所有文档 ls 然后使用 b 43 编号 移至该文档 选中多行 v 43 shift 然后 j k 上下移动 缩进单行 gt gt lt lt 当前行到结尾
  • hashcode()和equals()的作用、区别、联系

    介绍一 hashCode 方法和equal 方法的作用其实一样 xff0c 在Java里都是用来对比两个对象是否相等一致 xff0c 那么equal 既然已经能实现对比的功能了 xff0c 为什么还要hashCode 呢 xff1f 因为重
  • c语言文件中存入/读取double型矩阵型数据

    test c Created on Jun 1 2019 Author lgh include lt stdio h gt include lt stdlib h gt double allocation memory double int
  • windows自动更新变成了灰色,不能选择的原因

    现象 发现我的电脑 属性 自动更新里面所有的按钮都已经是灰色的了 xff0c 而且每次开机都会自动运行自动更新 xff0c 关闭进程也无法停止 xff0c 几秒钟后又会开始更新 xff0c 而且更新后会要求重新启动 控制面板里的安全中心显示
  • 在 Debian Stretch 上安装 FFmpeg

    FFmpeg 是一款流行的多媒体框架 xff0c 可以用来记录 转换数字音频 视频 xff0c 并能将其转化为流的开源计算机程序 采用LGPL或GPL许可证 它提供了录制 转换以及流化音视频的完整解决方案 它包含了非常先进的音频 视频编解码
  • MHA使用手册一:概述(基于0.56版本)

    本文基于MHA官方文档0 56版wiki翻译而成 原文链接 xff1a https github com yoshinorim mha4mysql manager wiki 概述 概述 MHA以最少的停机时间 xff08 通常在10 30秒
  • 海思开发板FFmpeg+Nginx,推流RTMP播放(优秀教程收集+实操整理)

    海思开发板FFmpeg 43 Nginx推流RTSP播放 xff08 优秀教程收集 43 实操整理 xff09 安装FFmpeg及移植FFmpeg编译问题收录 xff1a static declaration of 39 cbrt 39 f
  • mysql配置文件详解

    basedir 61 path使用给定目录作为根目录 安装目录 character sets dir 61 path给出存放着字符集的目录 datadir 61 path从给定目录读取数据库文件 pid file 61 filename为m
  • 华测服务器进不去系统,华测云服务器如何登陆

    华测云服务器如何登陆 内容精选 换一换 当您拥有一台专属主机后 xff0c 您可以在专属主机上创建相应规格族的云服务器 在专属主机上创建云服务器前 xff0c 您必须先完成以下工作 xff1a 购买专属主机如果不使用系统自动创建的默认安全组
  • 七牛云存储 CDN 使用指南

    七牛cdn 使用指南 更新于2016 3 13 分为两种情况 xff1a 1 使用七牛存储 2 直接使用七牛cdn 一 使用七牛存储 xff08 七牛的存储默认使用cdn加速 xff09 静态资源存储到七牛后 xff0c 可以使用七牛提供的
  • 如何在 Debian 中安装 DHCP 服务器

    动态主机配置协议 xff08 DHCP xff09 是一种用于使主机能够从服务器自动分配 IP 地址和相关的网络配置的网络协议 DHCP 服务器分配给 DHCP 客户端的 IP 地址处于 租用 状态 xff0c 租用时间通常取决于客户端计算
  • 重磅更新:码云企业版之项目多仓库功能上线!!!

    开发四年只会写业务代码 xff0c 分布式高并发都不会还做程序员 xff1f 现在的软件开发是越来越复杂了 xff0c 以前讲系统化 模块化 xff0c 现在讲微服务化 xff0c 前后端分离 xff0c 各种编程语言混搭 xff0c 还有
  • tracking 问题解决

    1 dir 或者C 43 43 函数读文件名 xff0c 不推荐 搞乱了名字 2 matio读写矩阵 转载于 https www cnblogs com Wanggcong p 5651081 html
  • Docker系列07—Dockerfile 详解

    Docker系列07 Dockerfile 详解 1 认识Dockerfile 1 1 镜像的生成途径 基于容器制作 dockerfile xff0c docker build 基于容器制作镜像 xff0c 已经在上篇Docker系列06
  • Linux SWAP 深度解读

    概述 本文讨论的swap基于Linux4 4内核代码 Linux内存管理是一套非常复杂的系统 xff0c 而swap只是其中一个很小的处理逻辑 希望本文能让读者了解Linux对swap的使用大概是什么样子 阅读完本文 xff0c 应该可以帮
  • QT QByteArray的十进制与十六进制(字符型) 互相转换 -串口编程

    串口使用中会经常用到 目前使用到的是QByteArray number 源数据 xff0c 目标输出的进制 作下记录 xff0c 以供日后参考 转制方法有很多 xff0c 这只是其中一种 xff0c 有其他QT的进制转换方法 xff0c 欢