最近使用串口通信操作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进制二进制字符串的转换相关推荐

  1. QT 实现16进制与字符串互转

    QT 实现16进制与字符串互转 文章目录 QT 实现16进制与字符串互转 前言 一.字符串QString转换16进制 二.16进制转换为字符串QString 三.正则表达式限制输入16进制 四.文本自 ...

  2. 物联网中常用的方法,16进制二进制之间的转换

    由于最近公司做的是关于物联网的项目,所以经常用到进制转换的功能,所以自己写了一些并且收集了一些方法,供大家使用 import java.text.SimpleDateFormat; import ja ...

  3. python将16进制字符串转换为整数_Python 16进制与字符串的转换

    电脑上装了Python2.7和3.3两个版本,平时运行程序包括在Eclipse里面调试都会使用2.7,但是由于某些原因在cmd命令行中输入python得到的解释器则是3.3, 一直没对此做处理,因为这 ...

  4. Python 16进制与字符串的转换

    电脑上装了Python2.7和3.3两个版本,平时运行程序包括在Eclipse里面调试都会使用2.7,但是由于某些原因在cmd命令行中输入python得到的解释器则是3.3, 一直没对此做处理,因为这 ...

  5. Python 16进制与字符串的转换、二进制 to 十进制、十六进制 to 十进制、十进制 to 二进制

    2.7版本 2.7版本下进行转换还是很方便的,hex2char:output = 'data'.decode('hex')  char2hex: output = '64617461'.encode( ...

  6. c#实现16进制和字符串之间转换的代码

    十六进制字符串与数值类型之间转换(C# 编程指南) 以下示例演示如何执行下列任务: 获取字符串中每个字符的十六进制值. 获取与十六进制字符串中的每个值对应的字符. 将十六进制 string 转换为整型 ...

  7. qt 中文转十六进制_QT中16进制字符串转汉字

    最经在研究AT指令接受短信,短信是unicode编码,接受后需要根据系统的编码方案进行相关的转码 比如接受到了一串字符4F60597D,它是"你好"的unicode编码,一个uni ...

  8. c语言 乱码转化为16进制_C语言版的16进制与字符串互转函数

    http://www.cnblogs.com/nio-nio/p/3309367.html /* // C prototype : void StrToHex(BYTE *pbDest, BYTE * ...

  9. PHP相关进制转换(二进制转数组、十进制转16进制、16进制转字符串)

    前段时间一直在和机器对接,涉及各种进制转换,这里记一下. /*** 二进制字符串转数组* @User yaokai* @param $hex* @return array*/ function hex ...

最新文章

  1. 美国数学三大分支专业就业前景解析 你选对了吗?
  2. 推送通知服务【WP7学习札记之十三】
  3. python解析http数据包_如何在python中嗅探HTTP数据包?
  4. apache geode项目结构_Apache Flink-基于Java项目模板创建Flink应用(流计算和批计算)...
  5. PC软件开发技术之三:C#操作SQLite数据库
  6. 多密钥ssh-key生成与管理
  7. stm32双串口通信_一文读懂,基于 STM32 和 CAN 总线的温度监控系统的设计方法
  8. python测试用例设计方法_设计测试用例的基本方法
  9. tftp服务器离线安装
  10. python实现自适应中值滤波器
  11. CEF3使用Visual Studio 2010编译libcef_dll_wrapper.lib
  12. 喜欢蓝蓝的天空白白的云。这首《 Blue Skies》就是啦。
  13. TFT液晶屏使用自建的英文字库
  14. 谷歌2018年IO大会
  15. 关于Python常用的办公自动化技巧
  16. Goldengate Monitor Agent 安装
  17. 手机管理应用研究【3】—— 垃圾清理篇
  18. 点点客小程序服务器,点点客小程序新增操作引导功能,小白轻松上手
  19. 计算机毕业设计系列基于基于SSM的小区物业信息管理系统
  20. 中国工商银行软件开发中心 暑期实习心得

热门文章

  1. 企业社交,阿里钉钉向左,企业微信向右
  2. 将一个数组每三个分成一组
  3. 武汉大学计算机学院2017复试,武汉大学电子信息学院2017年硕士研究生复试录取工作实施细则_武汉大学考研网.pdf...
  4. echarts:legend 图例形状,图例文字颜色与图例一致及图例文字多种颜色的配置
  5. python的按位运算
  6. 怎么做好网络营销推广?
  7. 如何让自己精力充沛 【转】
  8. C++JZ83 剪绳子(进阶版)
  9. 优化策略(五)Skip-connections
  10. 特权同学《Verilog边码边学》P8课后习题一和二答案 (初学,自己写的,有错误请见谅)