Qt:71---QByteArray字节数组

一、QByteArray介绍

  • 概念:提供一个字节数组(序列),QByteArray可用于存储原始字节(包括“\ 0” )和传统的8位 “\ 0” 端接字符串,使用 QByteArray比使用const char 更方便.   
  • 在IO操作中,C语言常使用const char ,而Qt中常使用QByteArray

二、常用语法

//函数
size();    //得到大小,以字节为单位
resize();  //定义大小
at();      //通过索引取值

演示案例

QByteArray ba("Hell");
qDebug()<<ba.size(); //4

ba.resize(5);
qDebug()<<ba.size(); //5
qDebug()<<ba[0];     //H

ba[4]='0';
qDebug()<<ba;        //Hello

按字节初始化、访问

QByteArray ba;
ba.resize(4);
ba[0] = 0x30;
ba[1] = 0x31;
ba[2] = 0x32;
ba[3] = 0x33;
std::cout<<ba.at(3)<<std::endl; //3

注:遇到\0结束

QByteArray ba("hel\0l\0o", 5);
qDebug()<<ba.size(); //5
qDebug()<<ba;  //hel

三、QByteArrar与char*相互转换

QByteArrar转char*

  • 通过constData()转换
QByteArray ba("Hello");
const char * str = ba.constData();
std::cout << str << std::endl;

char*转QByteArrar

  • 通过QString的字符集转换
const char *p = "abc";
QString c = QString(p);
QByteArray ba = c.toUtf8();
qDebug()<<ba;
  • 通过fromRawData()
const char * hello = "hello";
QByteArray ba(QByteArray::fromRawData(hello, 5));
qDebug()<<ba;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

董哥的黑板报

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值