Eine seltsame Sache, die ich angetroffen habe, ist, dass in einer Schleife, die ich mache, wo ich eine QByteArray
mit einem Brocken von QStringList
bevölkert. Um genauer zu sein, die QStringList
nimmt einen Standard QString
und teilt es in kleinere Bits auf jedes Mal, wenn es auf ein "-" innerhalb der Zeichenfolge trifft. Ergo, wenn ein QString
enthält "A1-B2-C3-D4-E5"
, würde es füllen Sie die Liste als kleine Stücke (list[0]="A1",list[1]="B2",list[2]="C3",...
). Allerdings brauche ich diese Bytes, um eine QByteArray
zu füllen und wenn ich eine Schleife verwende, nimmt es nur die Zeichen davon und füllt die QByteArray
als bytearray[0]="A",bytearray[1]="1",bytearray[2]="2"
und so weiter. In Anbetracht des Codes, den ich verwende, frage ich mich, was passiert ist? HierQString an ein QByteArray als hexadezimale Zeichen anhängen?
ist der Code:
QStringList inputArray = input.split('-');
QByteArray output;
for(int i = 0; i < inputArray.count(); i++)
{
output.append(inputArray.at(i).toLatin1());
}
ui->lineEdit->setText(output);
Ihre Frage ist - für mich zumindest - sehr unklar. Der Code, wie gepostet, tut * genau * was ich erwarten würde, was dazu führt, dass 'output' äquivalent zu' QByteArray ("A1B2C3D4E5") 'ist. –
'Ich frage mich, was passiert ist?' Sie und alle anderen. – dtech
Was ich will, ist, dass die Byte-Bits in ihrer Gesamtheit hinzugefügt werden müssen - derzeit habe ich das QByteArray wie dieses Bytearray [0] = "A", Bytearray [1] = "1", Bytearray [2] = "B", während ich es benötigen würde, um seine vollen Werte zu enthalten, dh Bytearray [0] = "A1", Bytearray [1] = "B2", Bytearray [2] = "C3". –