qbytearray用法
时间: 2024-05-07 07:20:19 浏览: 109
QByteArray 是 Qt 中一个用于处理二进制数据的类。它可以存储任意的二进制数据,如图像、音频、视频等等。
下面是 QByteArray 的一些常见用法:
1. 创建 QByteArray 对象
可以使用以下方式来创建 QByteArray 对象:
```cpp
QByteArray byteArray; // 空的 QByteArray 对象
QByteArray byteArray1("hello"); // 通过字符串创建 QByteArray 对象
QByteArray byteArray2 = "world"; // 另一种通过字符串创建 QByteArray 对象的方式
QByteArray byteArray3(QByteArray::fromRawData("data", 4)); // 从原始数据创建 QByteArray 对象
```
2. 访问 QByteArray 中的数据
可以使用以下方式来访问 QByteArray 中的数据:
```cpp
QByteArray byteArray("hello");
char c = byteArray.at(0); // 获取指定位置的字符
char c1 = byteArray[1]; // 获取指定位置的字符
const char* data = byteArray.constData(); // 获取 QByteArray 中的原始数据
```
3. 修改 QByteArray 中的数据
可以使用以下方式来修改 QByteArray 中的数据:
```cpp
QByteArray byteArray("hello");
byteArray.append("world"); // 在 QByteArray 后面追加数据
byteArray.prepend("hi"); // 在 QByteArray 前面插入数据
byteArray.replace(0, 1, "H"); // 替换指定位置的字符
byteArray.remove(1, 3); // 删除指定位置的字符
```
4. QByteArray 与 QString 之间的转换
可以使用以下方式来将 QByteArray 转换为 QString:
```cpp
QByteArray byteArray("hello");
QString str = QString::fromUtf8(byteArray); // 将 QByteArray 转换为 QString
```
可以使用以下方式来将 QString 转换为 QByteArray:
```cpp
QString str("hello");
QByteArray byteArray = str.toUtf8(); // 将 QString 转换为 QByteArray
```
这些是 QByteArray 的一些常见用法,但并不局限于此。QByteArray 还有许多其他功能可以探索。
阅读全文