QT中16进制二进制字符串的转换
最近使用串口通信操作nfc卡的扇区内的内容设及到了很多数据类型之间的转换,今天总结一下。
1、10进制16进制字符串相互显示
10->16
int a=10;
Qstring b = QString("%1").arg(b,2,16,QLatin1Char(‘0’));
参数说明 参数1即需要转换的int型数字 参数2 表示 最小宽度 参数3 表示要转的进制类型 参数4为填充数字
16->10
bool ok;
qbytearray a;//假设字符数组里面存储了一些16进制数
将数组第一位转为字符串 Qstring str = a[0].tohex();
int b = str.toint(&ok,16);//将字符串以16进制显示并转为10进制
2、将Qbytearray以字符串显示
有两种方法 第一种: Qbytearray a; a.tohex();
第二种: QString showHEX(QByteArray str) { QDataStream out(&str,QIODevice::ReadWrite); QString buf; while(!out.atEnd()) { qint8 outChar = 0; out >>outChar; QString str = QString("%1").arg(outChar&0xff,2,16,QLatin1Char('0')).toUpper(); buf +=str; } return buf; }
showHEX(a);
3、十进制转为ascll字符
int dec = 65;char ch = dec;QString decToStr = QString(ch);
4、double或float类型转换为可控制精度的10进制字符串
double dou = 1234.56789;
//arg()的参数含义为:1.要转换的double或float型数据 2.目标数据的位宽,填0即可
//3.格式控制,’ 4.精度,即精确到小数点后的位数,最后一位会四舍五入
QString douToStr = QString("%1").arg(dou,0,‘f’,3); //douToStr = “1234.568”;
5、int转2进制 二进制数 组合成16进制数
int a=2;
QString b = QString("%1").arg(a,2,2,QLatin1Char(’ 0’));//转为2进制
QString hex = QString("%1%2%3%4").arg(“10”).arg(b).arg(“01”).arg(“11”);
//四个二进制数组合 即 10 10 01 11
二进制转16进制 第一种方法:
bool ok;
int c = hex.toint(&ok,2);//先转为10进制
Qstring d = QString("%1").arg(c,2,16,QLatin1Char(‘0’)); //10进制转16进制
第二种方法
QString new_hex=BinToHex(hex); //将新的16进制显示出来
//二进制转16进制
QString BinToHex(QString strBin)
{QString strout;QString strH,strL;QString stroutH,stroutL;qDebug()<<strBin;strH=strBin.mid(0,4);strL=strBin.mid(4,4);if(strH=="1111"){stroutH="F";}if(strH=="1110"){stroutH="E";}if(strH=="1101"){stroutH="D";}if(strH=="1100"){stroutH="C";}if(strH=="1011"){stroutH="B";}if(strH=="1010"){stroutH="A";}if(strH=="1001"){stroutH="9";}if(strH=="1000"){stroutH="8";}if(strH=="0111"){stroutH="7";}if(strH=="0100"){stroutH="6";}if(strH=="0101"){stroutH="5";}if(strH=="0100"){stroutH="4";}if(strH=="0011"){stroutH="3";}if(strH=="0010"){stroutH="2";}if(strH=="0001"){stroutH="1";}if(strH=="0000"){stroutH="0";}if(strL=="1111"){stroutL="F";}if(strL=="1110"){stroutL="E";}if(strL=="1101"){stroutL="D";}if(strL=="1100"){stroutL="C";}if(strL=="1011"){stroutL="B";}if(strL=="1010"){stroutL="A";}if(strL=="1001"){stroutL="9";}if(strL=="1000"){stroutL="8";}if(strL=="0111"){stroutL="7";}if(strL=="0100"){stroutL="6";}if(strL=="0101"){stroutL="5";}if(strL=="0100"){stroutL="4";}if(strL=="0011"){stroutL="3";}if(strL=="0010"){stroutL="2";}if(strL=="0001"){stroutL="1";}if(strL=="0000"){stroutL="0";}strout=stroutH+stroutL;qDebug()<<strout;return strout;
}
QT中16进制二进制字符串的转换相关推荐
- QT 实现16进制与字符串互转
QT 实现16进制与字符串互转 文章目录 QT 实现16进制与字符串互转 前言 一.字符串QString转换16进制 二.16进制转换为字符串QString 三.正则表达式限制输入16进制 四.文本自 ...
- 物联网中常用的方法,16进制二进制之间的转换
由于最近公司做的是关于物联网的项目,所以经常用到进制转换的功能,所以自己写了一些并且收集了一些方法,供大家使用 import java.text.SimpleDateFormat; import ja ...
- python将16进制字符串转换为整数_Python 16进制与字符串的转换
电脑上装了Python2.7和3.3两个版本,平时运行程序包括在Eclipse里面调试都会使用2.7,但是由于某些原因在cmd命令行中输入python得到的解释器则是3.3, 一直没对此做处理,因为这 ...
- Python 16进制与字符串的转换
电脑上装了Python2.7和3.3两个版本,平时运行程序包括在Eclipse里面调试都会使用2.7,但是由于某些原因在cmd命令行中输入python得到的解释器则是3.3, 一直没对此做处理,因为这 ...
- Python 16进制与字符串的转换、二进制 to 十进制、十六进制 to 十进制、十进制 to 二进制
2.7版本 2.7版本下进行转换还是很方便的,hex2char:output = 'data'.decode('hex') char2hex: output = '64617461'.encode( ...
- c#实现16进制和字符串之间转换的代码
十六进制字符串与数值类型之间转换(C# 编程指南) 以下示例演示如何执行下列任务: 获取字符串中每个字符的十六进制值. 获取与十六进制字符串中的每个值对应的字符. 将十六进制 string 转换为整型 ...
- qt 中文转十六进制_QT中16进制字符串转汉字
最经在研究AT指令接受短信,短信是unicode编码,接受后需要根据系统的编码方案进行相关的转码 比如接受到了一串字符4F60597D,它是"你好"的unicode编码,一个uni ...
- c语言 乱码转化为16进制_C语言版的16进制与字符串互转函数
http://www.cnblogs.com/nio-nio/p/3309367.html /* // C prototype : void StrToHex(BYTE *pbDest, BYTE * ...
- PHP相关进制转换(二进制转数组、十进制转16进制、16进制转字符串)
前段时间一直在和机器对接,涉及各种进制转换,这里记一下. /*** 二进制字符串转数组* @User yaokai* @param $hex* @return array*/ function hex ...
最新文章
- 美国数学三大分支专业就业前景解析 你选对了吗?
- 推送通知服务【WP7学习札记之十三】
- python解析http数据包_如何在python中嗅探HTTP数据包?
- apache geode项目结构_Apache Flink-基于Java项目模板创建Flink应用(流计算和批计算)...
- PC软件开发技术之三:C#操作SQLite数据库
- 多密钥ssh-key生成与管理
- stm32双串口通信_一文读懂,基于 STM32 和 CAN 总线的温度监控系统的设计方法
- python测试用例设计方法_设计测试用例的基本方法
- tftp服务器离线安装
- python实现自适应中值滤波器
- CEF3使用Visual Studio 2010编译libcef_dll_wrapper.lib
- 喜欢蓝蓝的天空白白的云。这首《 Blue Skies》就是啦。
- TFT液晶屏使用自建的英文字库
- 谷歌2018年IO大会
- 关于Python常用的办公自动化技巧
- Goldengate Monitor Agent 安装
- 手机管理应用研究【3】—— 垃圾清理篇
- 点点客小程序服务器,点点客小程序新增操作引导功能,小白轻松上手
- 计算机毕业设计系列基于基于SSM的小区物业信息管理系统
- 中国工商银行软件开发中心 暑期实习心得
热门文章
- 企业社交,阿里钉钉向左,企业微信向右
- 将一个数组每三个分成一组
- 武汉大学计算机学院2017复试,武汉大学电子信息学院2017年硕士研究生复试录取工作实施细则_武汉大学考研网.pdf...
- echarts:legend 图例形状,图例文字颜色与图例一致及图例文字多种颜色的配置
- python的按位运算
- 怎么做好网络营销推广?
- 如何让自己精力充沛 【转】
- C++JZ83 剪绳子(进阶版)
- 优化策略(五)Skip-connections
- 特权同学《Verilog边码边学》P8课后习题一和二答案 (初学,自己写的,有错误请见谅)