【Qt】16进制转换格式字符串及二进制

news2024/10/7 4:30:04

【Qt】16进制转换格式字符串及二进制

      • 16进制转换成字符串
      • 16进制转换成格式字符串
      • 16进制转换成字符串并每两位加空格
      • 16进制转换成二进制

16进制转换成字符串

可调用QString类的静态方法number(),此方法为重载,有以下重载

	// 第一个参数为输入值,第二个为数字的进制
    static QString number(int, int base=10);
    static QString number(uint, int base=10);
    static QString number(long, int base=10);
    static QString number(ulong, int base=10);
    static QString number(qlonglong, int base=10);
    static QString number(qulonglong, int base=10);
    static QString number(double, char f='g', int prec=6);

示例:

	QString strRes;

    // hex 2 string
    int nHex = 0xff;
    strRes = QString::number(nHex, 16);
    qDebug().noquote() << "[" << __FILE__ << __LINE__ << "]" << "hex 2 string:" << strRes;

结果:

[ ..\16To2\mainwindow.cpp 17 ] hex 2 string: ff

运行:
在这里插入图片描述

16进制转换成格式字符串

可调用QString类的静态方法static QString asprintf(const char *format, ...)
第一个参数为格式,后面的可以输入值。
0x:前缀加0x
%x:表示以16进制形式输出整数
示例:

    QString strRes;

    // hex 2 format string
    int nHex = 0xff;
    strRes = QString::asprintf("0x%x", nHex);
    qDebug().noquote() << "[" << __FILE__ << __LINE__ << "]" << "hex 2 format string:" << strRes;

结果:

[ ..\16To2\mainwindow.cpp 17 ] hex 2 format string: 0xff

运行:
在这里插入图片描述

16进制转换成字符串并每两位加空格

示例:

    QByteArray baHex = QByteArray::fromHex("11223344aabbccdd");
    QString strHex = baHex.toHex();
    strHex = strHex.replace(QRegularExpression("(..)"), "\\1 ");
    qDebug().noquote() << "[" << __FILE__ << __LINE__ << "]" << strHex;

结果:

[ ..\16To2\mainwindow.cpp 16 ] 11 22 33 44 aa bb cc dd 

运行:
在这里插入图片描述
分析

  1. 通过QByteArray::fromHex("11223344aabbccdd")将十六进制字符串"11223344aabbccdd"转换为一个QByteArray对象,其中每个字节的值是由对应的十六进制字符表示的。
  2. 通过hexArray.toHex()将QByteArray对象转换为一个QString对象,QString对象中每个字符都是对应字节的十六进制表示。
  3. 使用QRegularExpression("(..)")创建一个正则表达式对象,在这个正则表达式中,"(…)"代表匹配两个字符。
  4. 通过hexStr.replace(QRegularExpression("(..)"), "\\1 ")对QString对象进行替换操作,将每两个字符之间插入一个空格。替换操作中的"\1"表示将匹配到的两个字符替换为这两个字符自身并加一个空格。

综合起来,这段代码的作用是将十六进制字符串"11223344aabbccdd"转换为一个格式良好的字符串,每两个字符之间用空格隔开,最终得到的结果是"11 22 33 44 aa bb cc dd"。

16进制转换成二进制

示例:

    QString str = "0XFF";

    int nValue = str.toInt(nullptr, 16);
    qDebug().noquote() << "[" << __FILE__ << __LINE__ << "]" << nValue;

    str = str.setNum(nValue, 2);
    qDebug().noquote() << "[" << __FILE__ << __LINE__ << "]" << str;

结果:

[ ..\16To2\mainwindow.cpp 15 ] 255
[ ..\16To2\mainwindow.cpp 18 ] 11111111

运行:
在这里插入图片描述
至此。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1034449.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

如何接入电商数据平台API接口实现数据采集请求获取商品详情价格、优惠券、优惠活动、品牌、店铺、主图等数据示例

app商品详情原数据API接口可以获取拼多多平台上某个商品的详细信息&#xff0c;包括商品标题、价格、图片、规格、参数、店铺信息等。 通过这个接口获取到的商品详情数据可以结合其他数据进行深度挖掘&#xff0c;例如可以将商品数据对比分析&#xff0c;找出同类商品中的优劣…

Unity中Shader中UI材质去色功能实现

文章目录 前言一、实现思路1、在属性面板暴露一个 开关 来控制去色变体2、声明一个变体3、在片元着色器实现去色 二、实现1、定义开关2、声明变体3、在片元着色器中&#xff0c;使用宏判断是否去色法1、只输出结果的单通道值&#xff0c;一般来说结果不太理想&#xff0c;比较节…

TikTok扮演丘比特为员工提供婚介服务

据透露&#xff0c;TikTok 有一项内部配对服务&#xff0c;供员工将同事介绍给朋友和家人。 该频道名为 Meet Cute&#xff0c;是全球数千名 TikTok 员工使用的工作场所工具&#xff0c;用于文件托管和视频会议。它还可以帮助人们从同事中找到潜在的浪漫伴侣。 在该平台上&…

html页面仿word文档样式(vue页面也适用)

目录 文章title&#xff1a; 标题&#xff1a; 正文&#xff1a; 完整代码&#xff1a; 页面效果&#xff1a; 文章title&#xff1a; <div><h3 style"display: flex;justify-content: center; align-items: center; color: #000;">实验室招新报名公…

CSDN程序设计精品课程——Java程序设计(Java语言概述·Java语言基础·Java基本数据类型)

Java程序设计课程分配&#xff1a; Java语言概述Java语言基础Java基本数据类型控制结构Java核心类类的定义与使用对象的初始化包继承抽象类与接口异常的处理自定义异常字节流字符流标准输入/输出流基本类型的包装类型泛型和集合类 目录 Java语言概述 Java语言的特点 Java开发…

初学Java小案例(一)

目录 案例一&#xff1a;买飞机票 案例二&#xff1a;开发验证码 案例三&#xff1a;评委打分 案例四&#xff1a;数字加密 案例五&#xff1a;数组拷贝 案例六&#xff1a;抢红包 案例七&#xff1a;找素数的三种方法 案例八&#xff1a;打印乘法口诀表 案例九&#x…

el-image 和 el-table冲突层级冲突问题

其中原理&#xff0c;很多博客已经所过了&#xff0c;table组件中使用图片&#xff0c;会出现层级过低问题&#xff0c; 网上大部分解决方式是 使用穿透 // 单元格样式 ::v-deep(.el-table__cell) {position: static !important; }我在此不推荐这种解决方式&#xff0c;原因&a…

如何编写测试用例,一篇搞定

前言 说到测试用例&#xff0c;但凡是软件测试从业人员&#xff0c;都不会陌生。但对于测试新手来说&#xff0c;测试用例仍旧有遗漏&#xff0c;或者写不好的时候。那么&#xff0c;究竟应该如何写好测试用例呢&#xff1f;今天就来针对性的聊聊这个话题。 在分析如何写测试…

初识Java 10-3 集合

目录 Collection和Iterator的对比 for-in和迭代器 总结图 本笔记参考自&#xff1a; 《On Java 中文版》 Collection和Iterator的对比 Collection是所有序列集合的共同根接口。因此&#xff0c;可以认为它是一个为表示其他接口之间的共性而出现的“附属接口”。 java.util.Ab…

Linux下ThinkPHP5实现定时器任务 - 结合crontab

实例一&#xff1a; 1.在/application/command创建要配置的PHP类文件&#xff0c;需要继承Command类&#xff0c;并重写configure和execute两个方法&#xff0c;例如: <?php namespace app\command; use think\console\Command; use think\console\Input; use think\cons…

紫光展锐6nm国产5G处理器T820_国产手机芯片5G方案

紫光展锐T820是一款采用先进6nm EUV工艺的芯片&#xff0c;采用134三丛集八核心CPU架构&#xff0c;由1个主频为 2.7GHz 的 Arm Cortex-A76 大核和 3个主频为2.3GHz 的Arm Cortex-A76大核以及4个主频为2.1GHz的 Arm Cortex-A55组成 &#xff0c;支持高达3MB 三级缓存&#xff0…

【解决方案】edge浏览器批量添加到集锦功能消失的解决方案

edge的集锦功能很好用&#xff0c;右键标签页会出现如下选项&#xff1a; 但在某次edge更新后&#xff0c;右键标签页不再出现该选项&#xff1a; 这里可以参考为什么我的Edge浏览器右键标签页没有“将所有标签页添加到集锦”功能&#xff1f; - Microsoft Community 一文提出…

1794_ChibiOS网络书籍的介绍阅读

全部学习汇总&#xff1a; GreyZhang/g_ChibiOS: I found a new RTOS called ChibiOS and it seems interesting! (github.com) 看到这个介绍我觉得这个OS的作者也是一个超级hack&#xff0c;而且非常有工匠精神。为什么要推出一个全新的RTOS呢&#xff0c;其实主要的原因就是觉…

【C语言】插入排序详解

文章目录 一、直接插入排序1、插入排序思想2、程序代码3、测试 二、希尔排序1、什么是希尔排序2、希尔排序图解3、程序代码4、测试 一、直接插入排序 1、插入排序思想 直接插入排序就是将待排序的记录按照它的关键码值插入到一个已经排好序的有序序列中&#xff0c;直到所有的…

【亲测有效】解决npm报错:RequestError: unable to verify the first certificate

问题简述 帖主从nodejs官网下载安装nodejs后&#xff0c;发现使用以下命令安装electron会报错 npm install electron报错信息如下&#xff1a; npm ERR! RequestError: unable to verify the first certificate解决方案 网上列举的方案&#xff0c;无外乎&#xff1a; 设置…

一篇文章让你学会什么是哈希

一篇文章让你学会什么是哈希 哈希概念哈希冲突哈希函数1. 直接定址法2. 除留余数法3. 平方取中法4. 折叠法5. 随机数法6. 数学分析法 哈希冲突解决1. 闭散列1.1 线性探测1.2 二次探测 2. 开散列 开散列和闭散列对比 哈希概念 哈希在C中有广泛的应用&#xff0c;它是一种用于快…

Compose LazyColumn 对比 RecyclerView ,谁的性能更好?

LazyColumn 是 compose 中用来实现类似 RecyclerView 效果的控件 &#xff0c;但是大家都说LazyColumn性能比RecyclerView差太多&#xff0c;毕竟 RecyclerView google优化了十多年了&#xff0c;比RecyclerView差一点也正常&#xff0c;今天我们就用实际数据来对比LazyColumn和…

全流程HEC-RAS 1D/2D水动力与水环境模拟技术案例实践及拓展应用丨从小白到精通,十九项案例实践

目录 专题一 水动力模型基础 专题二 恒定流模型(1D/2D) 专题三 一维非恒定流 专题四 二维非恒定流模型&#xff08;一&#xff09; 专题五 二维非恒定流模型&#xff08;二&#xff09; 专题六 HEC-RAS的水质模型 专题七 高级主题 水动力与水环境模型的数值模拟是实现水…

如何安全传输存储用户密码?(程序员必备)

前言 我们开发网站或者APP的时候&#xff0c;首先要解决的问题&#xff0c;就是「如何安全传输和存储用户的密码」。一些大公司的用户数据库泄露事件也时有发生&#xff0c;带来非常大的负面影响。因此&#xff0c;如何安全传输存储用户密码&#xff0c;是每位程序员必备的基础…

基于springboot+vue的大学生科创项目在线管理系统

博主主页&#xff1a;猫头鹰源码 博主简介&#xff1a;Java领域优质创作者、CSDN博客专家、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战 主要内容&#xff1a;毕业设计(Javaweb项目|小程序等)、简历模板、学习资料、面试题库、技术咨询 文末联系获取 项目介绍…