首页 > 其他分享 >Qt中char数组转16进制字符

Qt中char数组转16进制字符

时间:2024-04-06 13:22:19浏览次数:42  
标签:字符 QByteArray 进制 16 char data Qt

Tcp传入的16进制转16进制字符

关键点:char、QByteArray::toHex()、QByteArray::fromRawData()


知识点补充

  1. char在32bit或64bit系统中占一个1Byte
  2. char中实际存储的是数字,当存在字符时,会把字符转为ASCLL码中对应的数组,存储进内存中
  3. char占1Byte,即4bit,而一个16进制是2的4次方即需要4bit才能存储一个16进制,故一个char能存储2个16进制。
  4. 注意char与uchar的存储范围:
  • char:-128127,hex:807F
  • uchar:0255,hex:0FF

char中16进制转字符16进制

2种方法

方法1:使用QByteArray::fromRawData转化

ByteArray ss = QByteArray::fromRawData((const char*)data_struct_ptr_->data,data_len).toHex();

方法2:使用memcpy直接把char数据copy到QByteArray中

    QByteArray ss3;
    ss3.resize(data_len);  //重新分配空间
    memset((void*)(ss3.constData()),0,data_len );  //初始化空间
    memcpy((void*)(ss3.constData()),(void*)(data_struct_ptr_->data),data_len);  //copy
    qDebug() << ss3.toHex();  //16进制字符串

END By Lvs

标签:字符,QByteArray,进制,16,char,data,Qt
From: https://www.cnblogs.com/lvshen/p/18117350

相关文章

  • 实战培训班:AIGC-Stablediffu+PS服装设计-服装设计师的人工智能课(16节)
    课程内容:1_一、先导片:课程介绍及课前准备-认识AI人工智能.mp42_二、Stablediffusion-基础学习-Stablediffusio运行的电脑配置要求.mp43_二、Stablediffusion-基础学习-Stablediffusio安装部署及注意事项.mp44_二、Stablediffusion-基础学习-SD-仙宫云部署.mp45_二、Stabl......
  • Qt | 元对象系统
    一、QByteArray 类简介1、QByteArray 类简介该类是一个用于处理字符串的类似于C++的 string 类型的类,在Qt中,对字符串的处理,经常使用的是 QString 类,该类保证字符串以'\0'结尾,并使用隐式共享(copy-on-write)来减少内存用量和不必要的数据复制。 QByteArray 适......
  • 常见的常见免费开源绘图工具对比 draw.io/Excalidraw/Lucidchart/yEd Graph Editor/D
    拓展阅读常见免费开源绘图工具OmniGraffle创建精确、美观图形的工具UML-架构图入门介绍starUMLUML绘制工具starUML入门介绍PlantUML是绘制uml的一个开源项目UML等常见图绘制工具绘图工具draw.io/diagrams.net免费在线图表编辑器绘图工具excalidraw介绍绘......
  • 【Qt\C++】二维图形化故障树
    文章目录一、故障树是什么?二、相关知识点三、生成故障树1、故障树节点2、定义故障树的树状结构以及读取保存1.使用QTreeView和QStandardItemModel来显示故障树2.使用QXmlStreamReader和QXmlStreamWriter来保存故障树3、定义故障树的图形化结构1.自定义......
  • 【Qt】:常用控件(五:显示类控件)
    常用控件一.ProgressBar二.CalendarWidget一.ProgressBar使⽤QProgressBar表⽰⼀个进度条代码⽰例:设置进度条按时间增⻓设置定时器,每个0.1秒,让进度条+1在实际开发中,进度条的取值,往往是根据当前任务的实际进度来进行设置的。比如需要读取一个很大的文......
  • 【Qt】:常用控件(四:显示类控件)
    常用控件一.Lable二.LCDNumber一.LableQLabel可以⽤来显⽰⽂本和图⽚.代码⽰例:显⽰不同格式的⽂本代码⽰例:显⽰图⽚此时,如果拖动窗⼝⼤⼩,可以看到图⽚并不会随着窗⼝⼤⼩的改变⽽同步变化为了解决这个问题,可以在Widget中重写resizeEvent函数。......
  • Qt 处理excel
    处理Excel文件在Qt中通常涉及到使用第三方库,因为Qt本身并不直接支持Excel文件的读写。下面我将提供一个使用QAxObject(ActiveX封装)来操作Excel的基本代码示例。请注意,这个方法要求你的系统上安装有MicrosoftExcel。首先,确保你的Qt项目配置中包含了ActiveQt模块。在你的.pro文......
  • 【QT入门】 Qt代码创建布局综合运用:仿写腾讯会议登陆界面
    往期回顾:【QT入门】Qt代码创建布局之水平布局、竖直布局详解-CSDN博客【QT入门】Qt代码创建布局之栅格布局详解-CSDN博客【QT入门】Qt代码创建布局之分裂器布局详解-CSDN博客【QT入门】Qt代码创建布局综合运用:仿写腾讯会议登陆界面一、界面分析 主要用到水平布局......
  • 【QT入门】 无边框窗口设计之综合运用,实现WPS的tab页面
    往期回顾:【QT入门】无边框窗口设计之实现窗口阴影-CSDN博客【QT入门】无边框窗口设计之实现圆角窗口-CSDN博客【QT入门】无边框窗口设计综合运用之自定义标题栏带圆角阴影的窗口-CSDN博客 【QT入门】无边框窗口设计之综合运用,实现WPS的tab页面一、最终效果 实现......
  • 数据可视化高级技术Echarts(快速上手&柱状图&进阶操作)
    目录1.Echarts的配置 2.程序的编码3.柱状图的实现(入门实现)相关属性介绍(进阶):1.标记最大值/最小值2.标记平均值3.柱的宽度4.横向柱状图5.colorByseries系列(需要构造多组数据才能实现,下面有Sale和Sale1两组数据)data系列(同一组数据每个柱状图不同的显示)6.showBackgro......