构造函数
- QByteArray::QByteArray(const char *data, int size = -1);
- QByteArray::QByteArray(QByteArray &&other);
- QByteArray::QByteArray(const QByteArray &other);
- QByteArray::QByteArray(int size, char ch);
- QByteArray::QByteArray();
其他函数
- 在尾部追加数据`
cpp
QByteArray &QByteArray::append(const QByteArray &ba)
QByteArray &QByteArray::append(char ch)
QByteArray x("free");
QByteArray y("dom");
x.append(y);
- 在头部添加数据
cpp
QByteArray &QByteArray::prepend(const QByteArray &ba)
QByteArray &QByteArray::prepend(char ch)
QByteArray x("ship");
QByteArray y("air");
x.prepend(y);
- 将ba插入到第i个字节位置
cpp
QByteArray &QByteArray::insert(int i, const QByteArray &ba)
QByteArray &QByteArray::insert(int i, char ch)
QByteArray ba("Meal");
ba.insert(1, QByteArray("ontr"));
- 删除
cpp
QByteArray &QByteArray::remove(int pos, int len)
QByteArray ba("Montreal");
ba.remove(1, 4);
- 删除尾部n个字节
cpp
void QByteArray::chop(int n)
QByteArray ba("STARTTLS\r\n");
ba.chop(2); // ba == "STARTTLS"
- 截断数组,前部分留下,后部分删除
cpp
void QByteArray::truncate(int pos)
QByteArray ba("Stockholm");
ba.truncate(5); // ba == "Stock"
- 清空数据
cpp
void QByteArray::clear()
- 字符串替换
cpp
QByteArray &QByteArray::replace(const QByteArray &before, const QByteArray &after)
QByteArray ba("colour behaviour flavour neighbour");
ba.replace(QByteArray("ou"), QByteArray("o"));
// ba == "color behavior flavor neighbor"
- 判断是否包含子字符串
cpp
//判断是否包含子字符串,包含返回true,不包含返回false
bool QByteArray::contains(char ch) const
- 判断字符串是否已ba开头
cpp
bool QByteArray::startsWith(const QByteArray &ba) const
- 判断字符串是否已ba结尾
cpp
bool QByteArray::endsWith(const QByteArray &ba) const
- 迭代器
cpp
QByteArray::const_iterator QByteArray::begin() const
QByteArray::const_iterator QByteArray::end() const
- 取出第i个数据
cpp
char QByteArray::at(int i) const
- 查看对象中的字符个数
cpp
int QByteArray::count() const
int QByteArray::length() const
int QByteArray::size() const
- QByteArray转换成char*
cpp
char *QByteArray::data()
QByteArray ba("Hello world");
char *data = ba.data();
while (*data) {
cout << "[" << *data << "]" << Qt::endl;
++data;
}
- int转QByteArray
cpp
QByteArray &QByteArray::setNum(int n, int base = 10)
QByteArray QByteArray::number(int n, int base = 10)
QByteArray ba;
int n = 63;
ba.setNum(n); // ba == "63"
ba.setNum(n, 16); // ba == "3f"
short、ushort、uint、qlonglong、qulonglong、float、double都可以使用这种方式进行转换。
- QByteArray转十六进制
cpp
QByteArray QByteArray::toHex() const
- QByteArray转int
cpp
int QByteArray::toInt(bool *ok = nullptr, int base = 10) const
- 转大小写
cpp
QByteArray QByteArray::toUpper() const
QByteArray QByteArray::toLower() const