Qt中的QByteArray类

本文详细介绍了Qt中QByteArray类的功能与应用,包括字节数组的存储、操作及编码转换方法。QByteArray用于存储包含’’的字节数组或传统8bit字符串,适用于数据包操作,如在前后添加数据、调整大小和编码转换。

1 QByteArray类概述

  • QByteArray类指字节数组,用QByteArray比const char *这种类型要便利的多。
  • QByteArray类可用来存储包括’\0’的字节数组,或是传统的8bit以’\0’结尾的字符串,它使用了隐式共享的技术。
  • 使用QByteArray类我们能够很方便的对数据包进行操作,可以先把数据包转换成QByteArray类型,对QByteArray可以较为方便地在后面或前面加入新数据,形成的新QByteArray可以很方便地通过网口发送。Qt中TCP或UDP发送和接收数据都是使用的QByteArray。

2 QByteArray类接口函数

2.1. 初始化QByteArray

QByteArray::QByteArray(const char *data, int size = -1);//从data开始的size字节构建QByteArray

2.2. QByteArray的操作

//在前面或后面添加
QByteArray &QByteArray::append(const QByteArray &ba);
QByteArray &QByteArray::append(const char *str);
QByteArray &QByteArray::prepend(const QByteArray &ba);
QByteArray &QByteArray::prepend(const char *str);

char* QByteArray::data();//返回一个指向QByteArray第一个单元的指针
int QByteArray::size() const;//返回QByteArray的字节个数
void QByteArray::resize(int size);//设置QByteArray的大小,如果size比现在大,则多余部分未初始化,如果小,则从尾部截去

2.3 QByteArray的编码转换

//与不同进制之间
//hex
[static] QByteArray QByteArray::fromHex(const QByteArray &hexEncoded);//从16进制编码转换
QByteArray QByteArray::toHex() const;//转换为16进制编码
QByteArray text = QByteArray::fromHex("517420697320677265617421");
qDebug() << text.data();            // returns "Qt is great!"






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值