【QT】QByteArray的使用
1.QByteArray可以用来存储原始二进制字节和8-bits字符,一般在需要传输原始数据和内存资源短缺时使用(嵌入式linux Qt)
2.QByteArray存储的是char型字符,继承自QMemArray< char >,但QByteArray提供的数组操作,比char更方便
3.QString转Qchar时,需要经过 QByteArray,不能用下面的转换形式char *data = str.toLatin1().data();因为这样的话,str.toLatin1()得到的QByteArray类型结果就不能保存(切记!!!),正确用法如下:
hex= str.toLatin1();//把string字符串转换为字节流char= QByteArray::fromHex(hex);//把字节流转换成char
4.QByteArray数组
/*****************定义赋值数组*****************/
QByteArray ba;
ba.size(5); //size()大小,不包含'\0' ,qstrlen()包含'\0'
ba[0]=0x10;
ba[1]=0xc1;
……
ba[4]=0xbf;
/******************访问数组*******************/
for (int i = 0; i < ba.size(); ++i) {if (ba.at(i) >= 'a' && ba.at(i) <= 'f')//对于只读访问,替代语法是使用at()访问,at()与[]效果一样:QDebug<< "Found character in range [a-f]" << endl;
}
5.注意头文件
#include <QByteArray>
6.相关操作的方法:
QByteArray .prepend(); // 添加前缀
QByteArray. append(); //添加后缀
QByteArray.data(); //返回指向字节数组中存储的数据的指针,访问时采用ba.data()[0]
QByteArray::fill(char ch, int size = -1); //将字节数组中的每个字节设置为字符ch。如果size与-1(默认值)不同,则字节数组将预先调整为大小。
QByteArray::indexOf(ba, int from = 0); //指定位置
QByteArray::left(int len); //指定左移
QByteArray::righ(int len); //指定右移
QByteArray::toHex();
QByteArray::toStdString();
【QT】QByteArray的使用相关推荐
- Qt QByteArray 转换 QString QT5.12.7
Qt QByteArray 转换 QString QT5.12.7 void MainWindow::slot_send() { const QString data = m_sendLineEdit ...
- Qt --- QByteArray强大用途
前言 Qt中无论是串口serialport还是tcp网络通信等,直接接收到(或者要发送)的数据都是QByteArray,之后的数据处理部分,无论你转为char*/char[]还是使用最多的QStrin ...
- Qt QByteArray字节数组
QByteArray bb("Hello"); //创建字节数组int n=bb.size(); //返回字节数组的大小//不包括终止符 \0QByteArray ba;//创建一 ...
- Day2 QT常用基础类型(自用)
1. 基础类型 因为Qt是一个C++框架, 因此C++中所有的语法和数据类型在Qt中都是被支持的, 但是Qt中也定义了一些属于自己的数据类型, 下边给大家介绍一下这些基础的数类型. QT基本数据类型定 ...
- 【QT】Qt调用OCX控件详解
OCX控件的注册 首先,调用ocx控件需要保证ocx本身是已经注册了的.如果没有注册请先按"Win+R"输入"cmd"打开命令窗口.然后输入regsvr32 + ...
- Qt常用基本数据类型
文章目录 1. 基础类型 2. log输出 3. 字符串类型 3.1 QByteArray 3.2 QString 4. QVariant 4.1 标准类型 4.2 自定义类型 5. 位置和尺寸 5. ...
- Qt——常用数据类型
1. 基础类型 因为Qt是一个C++框架, 因此C++中所有的语法和数据类型在Qt中都是被支持的, 但是Qt中也定义了一些属于自己的数据类型, 下边给大家介绍一下这些基础的数类型. QT基本数据类型定 ...
- 使用QHttp与C#编写的服务端交互(编译环境mingw)
打开qtcreator,新建一个项目,然后加一个头文件及源代码文件,如下: QtHttp.h: #ifndef QTHTTP_H #define QTHTTP_H #include <Qt/QO ...
- QOpenGLWidget显示视频流数据
使用QOpenGLWidget显示 QT中的QOpenGLWidget底层是使用opengl库,是对opengl的再封装.使用QOpenGLWidget类时,我们仅需继承QOpenGLWidget,仅 ...
- QT的QByteArray 类的使用
详细说明 QByteArray类提供字节数组. QByteArray可用于存储原始字节(包括'\ 0')和传统的8位'\ 0'终止的字符串.使用QByteArray比使用const char *更方便 ...
最新文章
- python正规教育机构-Python培训机构多吗 选择Python培训这些你都知道吗
- java canvas 画图片_[Java教程][HTML5] Canvas绘制简单图片
- Linux源码编译(一):从头文件说起
- [转]Android中handler机制的原理
- 13 Tensorflow机制(翻译)
- OpenCL 第7课:旋转变换(1)
- 【数据结构和算法笔记】分别用vector数组和链表实现图的邻接表
- 2020湖南省技能竞赛获奖名单_高光时刻!肇庆市中等职业学校学生专业技能竞赛获奖名单公布~...
- 【2019杭电多校第八场1011=HDU6667】Roundgod and Milk Tea(贪心)
- oracle理论笔试题,Oracle数据库笔试题(附答案)
- ios定位权限plist_iOS(定位一)后台定位和前台定位权限设置
- 亚马逊养号遛号Selenium自动化测试工具介绍,依托于VMLogin指纹浏览器配套实现。
- 物理专业计算机二级学科,学科门类二级类0702物理学类.doc
- Elastic 7.9 版本发布,提供免费的 Workplace Search 和终端安全功能
- 猪悟能淘宝店商品下载专家 v1.2
- css加密数据 图片解析破解
- 一梦江湖网页提交问题服务器错误,一梦江湖4月3日更新内容详情一览
- 腾讯云服务器查看防火墙规则,腾讯云云防火墙的常见问题
- 计算机毕业设计SSM大学生志愿者管理系统【附源码数据库】
- 游泳馆会员管理系统功能图