如何用Python3实现从旧网站到新网站的高效搬家?
摘要:dede 网站搬家,用PYTHON3 做网站,wordpress语言切换插件,企业自建网站缺QByteArray字节数组 文章目录 QByteArray字节数组1.1 QByteArray类基本使用说明1.2 设置数组字节大小1.3 返回数
dede 网站搬家,用PYTHON3 做网站,wordpress语言切换插件,企业自建网站缺QByteArray字节数组 文章目录 QByteArray字节数组1.1 QByteArray类基本使用说明1.2 设置数组字节大小1.3 返回数组大小1.4 将数据转为其他类型1.5 将数据转为C语言的字符指针返回1.6 数组数据追加1.7 清除数组数据为指定值1.8 数组数据插入1.9 删除指定位置指定长度的数据1.10 …QByteArray字节数组 文章目录 QByteArray字节数组1.1 QByteArray类基本使用说明1.2 设置数组字节大小1.3 返回数组大小1.4 将数据转为其他类型1.5 将数据转为C语言的字符指针返回1.6 数组数据追加1.7 清除数组数据为指定值1.8 数组数据插入1.9 删除指定位置指定长度的数据1.10 替换指定位置的数据1.11 数组数据查找1.12 去除空白字符1.13 QBuffer类介绍1.13.1QBuffer基本使用介绍1.13.2 数据读写示例1.13.3 数据处理一行的数据 1.1 QByteArray类基本使用说明
QByteArray类提供了一个字节数组。
QByteArray可用于存储原始字节包括’\ 0’和传统的8位’\ 0’终止字符串。使用QByteArray比使用const char *方便得多。在幕后它始终确保数据后面跟着’\ 0’终止符并使用隐式共享写时复制来减少内存使用并避免不必要的数据复制。
除了QByteArray之外Qt还提供了QString类来存储字符串数据。对于大多数目的而言QString是常用的类。它存储16位Unicode字符使你可以轻松地在应用程序中存储非ASCII /非拉丁字母字符。此外QString在整个Qt API中都有使用。QByteArray适用的两种主要情况是何时需要存储原始二进制数据何时需要对内存进行保存例如使用Qt for Embedded Linux。
初始化QByteArray的一种方法就是将const char *传递给它的构造函数。例如下面的代码创建一个包含数据“Hello”的大小为5的字节数组
QByteArray ba(Hello);尽管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;
}at()比operator 更快因为它永远不会导致发生深层复制。
要一次提取多个字节请使用left()right()或mid()。
QByteArray可以嵌入’\ 0’字节。Size()函数总是返回整个数组的大小包括嵌入的’\ 0’字节但不包括由QByteArray添加的终止’\ 0’。
