QByteArray的一些常见用法
时间: 2023-12-03 18:59:41 浏览: 81
QByteArray是Qt中用于存储二进制数据的类。下面是一些常见的用法:
1. 创建一个空的QByteArray对象:
```c++
QByteArray byteArray;
```
2. 从字符串创建QByteArray对象:
```c++
QString str = "Hello world!";
QByteArray byteArray = str.toUtf8(); // 将字符串转换为UTF-8编码的字节数组
```
3. 从另一个QByteArray对象创建一个新的QByteArray对象:
```c++
QByteArray byteArray1 = "Hello";
QByteArray byteArray2 = "world";
QByteArray byteArray = byteArray1 + byteArray2; // 连接两个字节数组
```
4. 获取字节数组的长度:
```c++
QByteArray byteArray = "Hello world!";
int length = byteArray.length(); // 获取字节数组的长度
```
5. 获取字节数组中的某个元素:
```c++
QByteArray byteArray = "Hello world!";
char c = byteArray.at(0); // 获取字节数组中第一个元素
```
6. 修改字节数组中的某个元素:
```c++
QByteArray byteArray = "Hello world!";
byteArray[0] = 'h'; // 将字节数组中的第一个元素改为小写的'h'
```
7. 将字节数组转换为字符串:
```c++
QByteArray byteArray = "Hello world!";
QString str = QString::fromUtf8(byteArray); // 将字节数组转换为UTF-8编码的字符串
```
8. 将字节数组写入文件:
```c++
QByteArray byteArray = "Hello world!";
QFile file("test.txt");
if (file.open(QIODevice::WriteOnly)) {
file.write(byteArray);
file.close();
}
```
9. 从文件中读取字节数组:
```c++
QFile file("test.txt");
if (file.open(QIODevice::ReadOnly)) {
QByteArray byteArray = file.readAll();
file.close();
}
```
阅读全文