我遇到的一个奇怪的事情是,在我正在进行的循环中,我正在使用QByteArray
的块填充QStringList
。更准确地说,QStringList
采用标准QString
并在每次遇到字符串中的“ - ”时将其拆分为较小的位。例如,如果QString
包含"A1-B2-C3-D4-E5"
,它会将列表填充为小块(list[0]="A1",list[1]="B2",list[2]="C3",...
)。但是,我需要这些字节来填充QByteArray
,当我使用循环时,它只需要它的字符并将QByteArray
填充为bytearray[0]="A",bytearray[1]="1",bytearray[2]="2"
,依此类推。考虑到我正在使用的代码,我想知道发生了什么错误?
以下是代码:
QStringList inputArray = input.split('-');
QByteArray output;
for(int i = 0; i < inputArray.count(); i++)
{
output.append(inputArray.at(i).toLatin1());
}
ui->lineEdit->setText(output);
答案 0 :(得分:1)
place a rectangualr image into an existing image
如果这些字符对确实是十六进制的,您需要指出:
qDebug() << QByteArray("ACDC"); // outputs "ACDC"
前一个字节数组长4个字节,而后者只有2个字节长,因为每个字符对都被解码为十六进制。