QByteArray在Qt5.9中的赋值和显示以及存储形式(toHex()函数)
2018-01-18 11:47
411 查看
本文章主要总结QByteArray类的用法,主要是总结如何给QByteArray的对象赋值十六进制数和显示该十六进制数以及十六进制数在QByteArray中的存储形式,具体的实例如下所述:(字符表示的十六进制数:'\xFF')
(Qt中QByteArray存储的十六进制数是0xff,实际是以ascll码存储的,存储形式为'\xff',所以如果需要比较的话,需要用array.at(0) == '\xff'表示,而不是array.at(0) == 0xff)
(要知道QByteArray里面存储的是int整数,还是字符'f',如果是int整数,则用int或者hex来判断;如果是字符'f',则用字符'f'来判断:
比如QByteArray内容为:ff,即QByteArray[0]=f,QByteArray[1]=f,则QByteArray里面存储的是两个字符'f',而不是整数255.
比如QByteArray内容为:ff,即QByteArray[0]=ff,则QByteArray里面存储的是一个整数255,而不是两个字符'ff'.)
1.1新建一个Widget工程,基类选择为QWidget。在UI界面上拖入一个pushButton按钮。
1.2添加按钮的槽函数,在按钮槽函数中添加如下代码:
1.3程序构建执行后,结果如下图所示:
上述结果表明,array数组的长度为1个字节,可以直接用十六进制数赋值给array数组的第0字节,即代码array[0] = 0xfE; 当赋值完十六进制数后,这个十六进制数就占用array数组的一个字节,查看该字节的内容时,可以用函数toHex()将这个十六进制数(占空间一个字节)显示出来。用qDebug类可以完成,即代码qDebug()<<array.toHex(); 可以实现该功能。当然,赋值十六进制也可以用字符来表示'\x0fE' == 0xfE ,即'\x0fE'跟0xfE是等效的。
参考内容: http://blog.csdn.net/u012627502/article/details/27060477(讲解了修改QByteArray数组的内容,比如增加,减少,替换,中间插入,从中间开始取n个字符)
(Qt中QByteArray存储的十六进制数是0xff,实际是以ascll码存储的,存储形式为'\xff',所以如果需要比较的话,需要用array.at(0) == '\xff'表示,而不是array.at(0) == 0xff)
(要知道QByteArray里面存储的是int整数,还是字符'f',如果是int整数,则用int或者hex来判断;如果是字符'f',则用字符'f'来判断:
比如QByteArray内容为:ff,即QByteArray[0]=f,QByteArray[1]=f,则QByteArray里面存储的是两个字符'f',而不是整数255.
比如QByteArray内容为:ff,即QByteArray[0]=ff,则QByteArray里面存储的是一个整数255,而不是两个字符'ff'.)
1.1新建一个Widget工程,基类选择为QWidget。在UI界面上拖入一个pushButton按钮。
1.2添加按钮的槽函数,在按钮槽函数中添加如下代码:
1.3程序构建执行后,结果如下图所示:
上述结果表明,array数组的长度为1个字节,可以直接用十六进制数赋值给array数组的第0字节,即代码array[0] = 0xfE; 当赋值完十六进制数后,这个十六进制数就占用array数组的一个字节,查看该字节的内容时,可以用函数toHex()将这个十六进制数(占空间一个字节)显示出来。用qDebug类可以完成,即代码qDebug()<<array.toHex(); 可以实现该功能。当然,赋值十六进制也可以用字符来表示'\x0fE' == 0xfE ,即'\x0fE'跟0xfE是等效的。
参考内容: http://blog.csdn.net/u012627502/article/details/27060477(讲解了修改QByteArray数组的内容,比如增加,减少,替换,中间插入,从中间开始取n个字符)
相关文章推荐
- javascript 中使用变量存储的函数与不使用变量存储的函数的加载区别,以及其中this对象的区别
- Qt开发 槽函数定义,以及槽函数二次响应多次响应问题
- jquery将数据以table的形式显示,实现数据统计,分页,以及动态添加,搜索
- oracle 存储过程,存储函数以及定时器的综合使用
- Oracle 在函数或存储过程中执行sql查询字符串并将结果值赋值给变量
- mysql-创建函数,存储过程以及视图
- 关于大小端的简单介绍以及使用C写一个函数判断当前系统是大端存储还是小端存储
- 关于QT中中文乱码以及显示常量中有换行符的问题
- Qt QListWidget 以缩略图的形式显示
- QT中关闭应用程序和窗口的函数(quit(),exit()以及close()的区别)
- JS/Jquery 中怎么定义存储一个类似map中key-value形式的变量,并且怎样动态赋值key和value?
- qt dateedit以日历形式显示
- MySQL存储过程和函数以及游标使用详解
- 扑克牌的发牌功能,存储,以及显示,斗地主发牌
- 从已有数据库生成脚本来获得生成数据表、视图、函数、存储过程以及触发器的SQL语句
- 存储过程和触发器的区别以及存储过程和函数的区别
- unsigned char和signed char型变量的区别,赋值后它在内存中的存储形式
- c# web中图片的存储,读取以及显示(sql server)
- easyUi 打开对话框后控件赋值,以及赋值后不显示的问题
- C++-Qt【5】-QT的QString,char*,QByteArray转化以及中文乱码的问题