QT学习笔记(一)QByteArray Class

QByteArray是QT中用于存储原始字节和8位字符串的数据类型。它适用于存储二进制数据和内存保护至关重要的场景。QByteArray提供多种成员函数,如data(), fill(), indexOf(), isEmpty(), left(), number(), setNum(), size(), toHex()和toStdString()等,方便对字节数组进行操作和转换。" 127969795,14527203,高精度血氧仪单片机选型与特性,"['医疗设备', '单片机开发', '嵌入式硬件', '传感器技术', '电子设计']
摘要由CSDN通过智能技术生成

QByteArray类

提供一个字节数组,QByteArray可用于存储原始字节(包括“\ 0” )和传统的8位 “\ 0” 端接字符串 . 使用QByteArray比使用const char *更方便.

除了QByteArray之外,Qt还提供了QString类来存储字符串数据。对于大多数用途,QString是您要使用的类。它存储16位Unicode字符,使您可以轻松地在应用程序中存储非ASCII /非拉丁字符。此外,QSt API在Qt API中始终使用。 
QByteArray适合的两个主要情况是当您需要存储原始二进制数据,并且当内存保护至关重要时(例如,使用嵌入式Linux的Qt)

初始化QByteArray的一种方法是const char *将其传递给其构造函数。例如,以下代码创建一个大小为5的字节数组, 
其中包含数据“Hello”:

            QByteArray ba("Hello");
  • 1

虽然size()为5,但是字节数组在最后还会保留一个额外的’\ 0’字符, 
以便如果使用一个函数来请求指向底层数据的指针(例如调用data()),那么指出的数据保证被’\ 0’终止。

另一种方法是使用resize()设置数组的大小,并初始化每个字节的数据字节.

QByteArray使用基于0的索引,就像C ++数组一样。 
要访问特定索引位置的字节,可以使用operator[] ()在非 常量字节数组上,operator 返回一个可以在赋值左侧使用的字节的引用。例如:

            QByteArray ba;
              ba.resize(5);
              ba[0] = 0x3c;
              ba[1] = 0xb8;
              ba[2] = 0x64;
              ba[3] = 0x18;
              ba[4] = 0xca;
            //对于只读访问,替代语法是使用at():
             for (int i = 0; i < ba.size(); ++i) 
             {
                if (ba.at(i) >= 'a' && ba.at(i) <= 'f')
                    cout << "Found character in range [a-f]" << endl;
             }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

at()可以比

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值