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的使用相关推荐

  1. Qt QByteArray 转换 QString QT5.12.7

    Qt QByteArray 转换 QString QT5.12.7 void MainWindow::slot_send() { const QString data = m_sendLineEdit ...

  2. Qt --- QByteArray强大用途

    前言 Qt中无论是串口serialport还是tcp网络通信等,直接接收到(或者要发送)的数据都是QByteArray,之后的数据处理部分,无论你转为char*/char[]还是使用最多的QStrin ...

  3. Qt QByteArray字节数组

    QByteArray bb("Hello"); //创建字节数组int n=bb.size(); //返回字节数组的大小//不包括终止符 \0QByteArray ba;//创建一 ...

  4. Day2 QT常用基础类型(自用)

    1. 基础类型 因为Qt是一个C++框架, 因此C++中所有的语法和数据类型在Qt中都是被支持的, 但是Qt中也定义了一些属于自己的数据类型, 下边给大家介绍一下这些基础的数类型. QT基本数据类型定 ...

  5. 【QT】Qt调用OCX控件详解

    OCX控件的注册 首先,调用ocx控件需要保证ocx本身是已经注册了的.如果没有注册请先按"Win+R"输入"cmd"打开命令窗口.然后输入regsvr32 + ...

  6. Qt常用基本数据类型

    文章目录 1. 基础类型 2. log输出 3. 字符串类型 3.1 QByteArray 3.2 QString 4. QVariant 4.1 标准类型 4.2 自定义类型 5. 位置和尺寸 5. ...

  7. Qt——常用数据类型

    1. 基础类型 因为Qt是一个C++框架, 因此C++中所有的语法和数据类型在Qt中都是被支持的, 但是Qt中也定义了一些属于自己的数据类型, 下边给大家介绍一下这些基础的数类型. QT基本数据类型定 ...

  8. 使用QHttp与C#编写的服务端交互(编译环境mingw)

    打开qtcreator,新建一个项目,然后加一个头文件及源代码文件,如下: QtHttp.h: #ifndef QTHTTP_H #define QTHTTP_H #include <Qt/QO ...

  9. QOpenGLWidget显示视频流数据

    使用QOpenGLWidget显示 QT中的QOpenGLWidget底层是使用opengl库,是对opengl的再封装.使用QOpenGLWidget类时,我们仅需继承QOpenGLWidget,仅 ...

  10. QT的QByteArray 类的使用

    详细说明 QByteArray类提供字节数组. QByteArray可用于存储原始字节(包括'\ 0')和传统的8位'\ 0'终止的字符串.使用QByteArray比使用const char *更方便 ...

最新文章

  1. python正规教育机构-Python培训机构多吗 选择Python培训这些你都知道吗
  2. java canvas 画图片_[Java教程][HTML5] Canvas绘制简单图片
  3. Linux源码编译(一):从头文件说起
  4. [转]Android中handler机制的原理
  5. 13 Tensorflow机制(翻译)
  6. OpenCL 第7课:旋转变换(1)
  7. 【数据结构和算法笔记】分别用vector数组和链表实现图的邻接表
  8. 2020湖南省技能竞赛获奖名单_高光时刻!肇庆市中等职业学校学生专业技能竞赛获奖名单公布~...
  9. 【2019杭电多校第八场1011=HDU6667】Roundgod and Milk Tea(贪心)
  10. oracle理论笔试题,Oracle数据库笔试题(附答案)
  11. ios定位权限plist_iOS(定位一)后台定位和前台定位权限设置
  12. 亚马逊养号遛号Selenium自动化测试工具介绍,依托于VMLogin指纹浏览器配套实现。
  13. 物理专业计算机二级学科,学科门类二级类0702物理学类.doc
  14. Elastic 7.9 版本发布,提供免费的 Workplace Search 和终端安全功能
  15. 猪悟能淘宝店商品下载专家 v1.2
  16. css加密数据 图片解析破解
  17. 一梦江湖网页提交问题服务器错误,一梦江湖4月3日更新内容详情一览
  18. 腾讯云服务器查看防火墙规则,腾讯云云防火墙的常见问题
  19. 计算机毕业设计SSM大学生志愿者管理系统【附源码数据库】
  20. 游泳馆会员管理系统功能图

热门文章

  1. pde与波长 sipm 关系_基于SiPM和TCMPC的时间分辨拉曼散射测量技术研究
  2. 零基础学javaDay06
  3. win10计算机管理的作用,原来Windows 10还有这么多隐藏的功能
  4. cad注释比例和打印比例不一样_CAD注释比例与打印比例不相等怎么办?
  5. 微博中如何选中#话题#
  6. Linux 中shell脚本编写教程
  7. Mac系统入门之怎么切换输入法
  8. 怎么用计算机名看地址吗,知道计算机名 肿么查ip
  9. 无人机维修前景怎么样(4点分析无人机专业就业前景)
  10. HTTP 协议之Gzip压缩原理