ich habe eine Funktion StrFromHex(QString *hex), welche den übergebenen &String (in hex konvertiert) in seine Urform umformt.
Die Zeichenkette sieht in etwa wiefolgt aus
Code: Alles auswählen
a426c61626c7562626c616161612e2e2e2e(...)
Sobald ich allerdings ein .mid(i, 2) auf die Zeichenkette mache (wobei i immer +2 ist), gibt mir qDebug folgendes aus
Code: Alles auswählen
ö¨±K#Zu<?ø¸B£ÍGSa
Langsam verweifel ich hier noch an einer solchen Banalität!
Eine ähnliche Funktion StrToHex sieht wiefolgt aus:
Code: Alles auswählen
void CKlasse_lib::StrToHex(QString *str)
{
qDebug(*str);
QString hex = "";
QChar c;
for (unsigned int i = 0; i < strlen(*str); ++i)
{
c = (*str).mid(i, 1).constref(0);
hex += QString("%1").arg((int)c, 0, 16);
}
*str = hex;
}
Nicht nur qDebug gibt mit diese kryptischen Zeichen aus; auch wenn ich den Inhalt des Strings (mal angenommen ich habe (*hex).left(20) ausgelesen) in eine Datei schreibe, sieht er aus, wie die Debug-Mitteilung.
Irgendwie klappt da garnichts heute. Habe ich einen Denkfehler eingebaut oder sehe ich den Wald vor lauter Bäumen nicht mehr?!
Ich hoffe es kann mir geholfen werden.
// Edit: Sorry, ich habe vergessen meine Entwicklungsumgebung zu nennen: Qt 3.11 (!!!), MS VC++ 6.0
LG KK