文章目录
前言:
QByteArray
是 Qt 框架中一个非常实用的类,用于处理字节序列(如原始数据、二进制文件内容、网络数据等)。它提供了一种灵活的方式来存储和操作字节数据,支持多种操作和转换方法,非常适合在需要直接处理底层数据的场景中使用。下面将详细介绍QByteArray
的基本用法和几个关键功能。
一、QByteArray
1、基本概念
QByteArray
本质上是一个动态数组,专门用于存储 char 类型的元素,但它不仅仅是一个简单的字符数组。QByteArray
提供了丰富的成员函数,使得对字节数据的操作变得简单而强大。
2、构造函数
QByteArray
提供了多种构造函数,允许以不同的方式初始化对象:
// 1、根据C风格的字符串,创建QByteArray对象
QByteArray arr1("hello"); // 根据C风格的字符串,创建QByteArray对象
// 2、根据std::string转换
std::string str("hello");
QByteArray arr2 = QByteArray::fromStdString(str);
注意:可以从一个 C 风格的字符串初始化
QByteArray
,但需要注意,它不会自动添加字符串的终止符 ‘\0’。
3、关键功能
3.1、数据操作
QByteArray
提供了比较丰富的与增、删、改、查相关的操作,如下:
append()
:向QByteArray
末尾追加数据,可以是另一个QByteArray
、char 数组
、char
或者是单个字节。prepend()
:在QByteArray
开头插入数据。insert()
:在指定位置插入数据。
3.2、数据访问
QByteArray
的本质存储的是char
类型的元素,通过下面这些方式直接访问数据
- at() 和 operator[]:可以访问
QByteArray
中的单个字节。注意,访问越界时at()<