【QT】QByteArray的使用

2023-05-16

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();
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【QT】QByteArray的使用 的相关文章

  • 修改docker容器端口映射

    大家都知道docker run可以指定端口映射 xff0c 但是容器一旦生成 xff0c 就没有一个命令可以直接修改 通常间接的办法是 xff0c 保存镜像 xff0c 再创建一个新的容器 xff0c 在创建时指定新的端口映射 有没有办法不
  • MaxWelll常用命令

    文章目录 1 启动maxwell xff1a 1 1 控制台为输出 xff1a 1 2 kafka为输出 xff1a 1 3 配置指定某些表输出 xff1a 1 4 配置输出到kafka 分区规则为表的主键 xff1a 1 5 配置文件启动
  • Linux系统--进程与线程的区别

    看了一遍排在前面的答案 xff0c 类似 进程是资源分配的最小单位 xff0c 线程是CPU调度的最小单位 这样的回答感觉太抽象 xff0c 都不太容易让人理解 做个简单的比喻 xff1a 进程 61 火车 xff0c 线程 61 车厢 线
  • 关于锁的理解

    本文打算写一些和锁有关的东西 xff0c 谈一谈我对锁的原理和实现的理解 xff0c 主要包含以下方面 信号量互斥量条件变量 同步与互斥 其实同步与互斥都是计算机科学里面概念性的东西 xff0c 它们和什么编程语言 操作系统其实都没什么关系
  • Android 适配ipv6

    Android8 0开始支持ipv6 okhttp支持ipv6 glide支持ipv6方法 ijkplayer
  • java自我学习第一阶段的收获和感受

    1 首先对于编程的学习第一步都是基本语法的学习 xff0c 语法学习的特点有 xff1a 所有编程语言的语法定义都大体相似 xff0c 大概的是编程发展的延续 xff0c 没有人语言设计人员会标新立异 xff0c 只有站在别人的肩上不断完善
  • docker常用命令及配置

    最近使用了docker xff0c 像是发现了新大陆 真是简洁好用的东西 xff0c 为啥原来没发现 docker的安装不再赘述 xff0c 在此记录一下常用的命令 xff0c 以便于将来查询 查看docker容器版本 docker ver
  • 数字图像处理读后感

    数字图像处理读后感 前言 初步写完比赛代码后 看了机器学习看了数字图像处理还有其他的一些乱七八糟的东西 然后又觉得如果只是看完没有总结回顾那就是很失败的一件事情 所以就想写一写自己的读后感 我自己看得是B站的视频 这是西安电子科技大学的任老
  • 第七天 树莓派+计算棒配置过程

    一 xff1a 安装过程参考 xff1a https blog csdn net qqqzmy article details 85213414 1 材料硬件 树莓派3B 43 intel movidius 神经元计算棒2代显示器 鼠标键盘

随机推荐

  • Docker镜像推送(push)到Docker Hub

    镜像构建成功后 xff0c 只要有docker环境就可以使用 xff0c 但必须将镜像推送到Docker Hub上去 我们之前创建的镜像不符合Docker Hub的tag要求 xff0c 因为 在Docker Hub注册的用户名是boony
  • Altera FPGA 远程更新

    文章目录 1 概述2 如何生成factory jic xff1f 3 如何使用ASMI IP4 如何使用Remote updata IP xff1f 5 UART命令 以下内容均参考自官方手册 手册下载地址 xff1a ug altremo
  • 将ros的深度图像 转换成 opencv的图像 并求距离

    将ros的图像 转换成 opencv的图像并求距离 参考的博客概念将ROS图像消息转换为OpenCV图像示例计算距离 参考的博客 ROS学习笔记47 xff08 ROS图像和OpenCV图像之间的转换 xff08 C 43 43 xff09
  • ROS入门总结(二):Python定义发布器Publisher与订阅器Subscriber

    节点ROS通信系统中就是一个可执行的程序 xff0c 这边博客主要记录如何在Python代码节点中定义发布器和订阅器 发布器 xff1a import rospy from std msgs msg import String 载入Stri
  • 计算机视觉中的传统特征提取方法总结(转载)

    前言 本文对计算机视觉传统方法中的一些特征提取方法进行了总结 xff0c 主要包括有 xff1a SIFT 尺度不变特征变换 HOG 方向梯度直方图 SURF ORB LBP HAAR 目录 1 SIFT xff08 尺度不变特征变换 xf
  • docker源码分析(1)(持续更新)

    docker源码分析 xff08 1 xff09 xff08 持续更新 xff09 daemondocker DaemonClient的启动内部函数分析newAPIServerConfigloadListenersinitContainer
  • JS实现图片切割

    lt DOCTYPE html gt lt html lang 61 34 en 34 gt lt head gt lt meta charset 61 34 UTF 8 34 gt lt title gt Title lt title g
  • GPS、RTK、PPK三种定位技术的原理及应用

    一 GPS技术 1 原理 之前做过集成GPS功能的产品 xff0c 对这种不以定位为主要功能的产品 xff0c 精度是没有要求的 xff0c 例如我只是用它来得到当前社区的位置 xff0c 一般的GPS模块都能满足要求 理论上 xff0c
  • 【STM32】RS485 Modbus协议 采集传感器数据

    源码链接 xff1a Modbus传感器采集协议 一 硬件 1 传感器 xff1a 为液压传感器 xff0c 12vDC xff0c RS485数据输出 xff0c 采用Modbus协议通信 2 电路 xff1a 根据传感器属性 xff0c
  • 【FPGA】QuartusII13.0全编译Error (119013): Current license file does not support the EP4CE10F17C8 device

    Quartuls II全编译时 xff0c 出现如下错误 网上很多人说找到32位的exe可以编译成功 xff0c 但是凭啥64位的就不行了 xff1f 而且我32位的也不行 这种情况就是没破解好 xff0c 但Licence Setup 显
  • 【FPGA】QuartusII13.0实现组合逻辑 3/8 译码器

    3 8译码器一般用于资源扩展 xff0c 如驱动led阵列时 xff0c 即使是FPGA xff0c IO资源也明显不足 xff0c 借此可以扩展出更多的IO口 xff0c 通过实现 3 8译码器 xff0c 记录一下FPGA开发的基本步骤
  • SIFT3D(3D尺度不变特征变换)算法

    转载自医学图像处理案例 xff08 十 xff09 SIFT3D xff08 3D尺度不变特征变换 xff09 算法 腾讯云开发者社区 腾讯云 一 SIFT3D算子 上述SIFT算子用于二维图像关键点检测 xff0c 医学影像一般都是三维图
  • 【Qt】opencv源码&官方编译好的opencv在windows下使用的区别

    之前用过很多次OpenCV xff0c 但是感觉每次情况都不一样 xff0c 看了之前的文章 QT 搭载OpenCV实现简单的图像处理 xff0c 用的是官方编译好的OpenCV 43 msvc2017 43 Qt Creator xff0
  • 【Pixhawk】Ubuntu下编译原生固件PX4

    环境 xff1a 编译主机 xff1a Ubuntu 20 0 4 xff08 官方推荐18 0 4 xff09 源码版本 xff1a PX4 1 12 0 xff08 目前最新 xff0c 截至2021 7 22 xff09 建议 尽量以
  • 【Pixhawk】PX4源码控制逻辑详解(以UGV小车为例)

    PX4启动流程 主体控制逻辑 commander xff1a 飞行模式控制stickmapper xff1a 摇杆映射position estimator xff1a 从GPS获得的位置估计navigator xff1a 读取航点 xff0
  • 【Pixhawk】PX4添加麦克纳姆轮车架

    PX4中提供了很多机架 xff0c 但要开发PX4不支持的机架类型 xff0c 需要我们自定义 比如麦克纳姆轮 1 在ROMFS px4fmu common init d airframes 下添加 hil机架文件 参考其他 命名为7000
  • 【BMS】锂电池充放电倍率C

    1 1C表示电池一小时完全充放电时电流强度 那这个电流强度是多少呢 xff1f 不同电芯肯定不一样 xff0c 要参考它的电池容量 xff08 Ah或者mAh xff09 下面是一节18650电池的容量参数 xff1a 它的标称容量是255
  • 【BMS】电池包低温加热技术

    1 目的 xff1a 提高锂电池低温充放电性能 xff08 如电动车在寒冷天气续航变短 启动困难 充电难以充满等一些列问题 xff09 2 分类 2 1 外部加热 2 1 1 电热元件加热 电热原件加热为最常见的低温加热方式 xff0c 主
  • 【BMS】电池能量管理:充电管理

    x1f50b 电池包能量管理 xff1a 充电管理 x1f50b 一 通信 充电是一个过程 xff0c 需要电池包和充电器间进行频繁的通信 xff0c 以保证电池安全和寿命 由于通信速率要求不高 xff0c 以及精简接口的考虑 xff0c
  • 【QT】QByteArray的使用

    1 QByteArray可以用来存储原始二进制字节和8 bits字符 xff0c 一般在需要传输原始数据和内存资源短缺时使用 xff08 嵌入式linux Qt xff09 2 QByteArray存储的是char型字符 xff0c 继承自