í <--- Komische Zeichen am Anfang meines JPG-Files QT
Verfasst: 18. November 2010 09:39
Hallo,
ich weiß komischer Titel für den Thread
Also dann leg ich mal los.
Es geht grob gesagt darum das ich ein JPG in eine Datenbank schreibe. Dieses JPG wird zuvor in Hexcode convertiert. Diesen Hexcode hol ich mir dann wieder aus der Datenbank convertiere ihn zurück und erstelle ein *.jpg File und schreib den convertierten Code rein.
Nun ist mein Problem das sich automatisch 4 Zeichen am Anfang des Files anhängen wenn ich das *.jpg mittels Notepad++ anschaue.
Leider lassen sich diese 4 Zeichen nicht kopieren und hier einfügen. Alles was ich weiß das es 3 von dieser Art sind und das vierte ist exakt dieses í.
Danach kommt der richtige JPG-Code. Sprich wenn ich die 4 Zeichen lösche und das File save dann erscheint auch das Bild. Aber dieser Vorgang soll nicht zu tun sein.
Ich hab mal noch eine Funktion in mein Programm eingefügt die editJPG() lautet. Die Funktion wird ansich nicht viel bringen es geht wohl eher darum was diese Zeichen bedeuten und wo sie herkommen, aber egal.
Die Funktion sieht wie folgt aus und tut das:
Sie öffnet das JPG mit den hinzugefügten Zeichen die nicht da sein sollen.
Ließt das File aus und removed die ersten 4 Zeichen und speichert das File wieder ab.
Jedoch sind diese Zeichen wieder vorhanden. Ich bekomm sie so nicht weg nur mittels manuellem Löschen indem ich direkt in das File reingehe.
Hier der Code:
Falls es jemandem Hilft. Wenn ich den JPG-Code mit Notepad++ anschaue befinden sich auf den vier Zeichen ein paar Buchstaben und sind schwarz Hinterlegt.
1. zeichen: NUL
2. zeichen: NUL
3. zeichen: SOH
4. zeichen: í
Hoffe ihr wisst was ich mein
peace Adi
ich weiß komischer Titel für den Thread
Also dann leg ich mal los.
Es geht grob gesagt darum das ich ein JPG in eine Datenbank schreibe. Dieses JPG wird zuvor in Hexcode convertiert. Diesen Hexcode hol ich mir dann wieder aus der Datenbank convertiere ihn zurück und erstelle ein *.jpg File und schreib den convertierten Code rein.
Nun ist mein Problem das sich automatisch 4 Zeichen am Anfang des Files anhängen wenn ich das *.jpg mittels Notepad++ anschaue.
Leider lassen sich diese 4 Zeichen nicht kopieren und hier einfügen. Alles was ich weiß das es 3 von dieser Art sind und das vierte ist exakt dieses í.
Danach kommt der richtige JPG-Code. Sprich wenn ich die 4 Zeichen lösche und das File save dann erscheint auch das Bild. Aber dieser Vorgang soll nicht zu tun sein.
Ich hab mal noch eine Funktion in mein Programm eingefügt die editJPG() lautet. Die Funktion wird ansich nicht viel bringen es geht wohl eher darum was diese Zeichen bedeuten und wo sie herkommen, aber egal.
Die Funktion sieht wie folgt aus und tut das:
Sie öffnet das JPG mit den hinzugefügten Zeichen die nicht da sein sollen.
Ließt das File aus und removed die ersten 4 Zeichen und speichert das File wieder ab.
Jedoch sind diese Zeichen wieder vorhanden. Ich bekomm sie so nicht weg nur mittels manuellem Löschen indem ich direkt in das File reingehe.
Hier der Code:
Code: Alles auswählen
void CKtGekkoLCM::editJPG()
{
QDir *dir = new QDir;
QByteArray line, text;
/* Get the JPG-File */
QFile file(dir->currentPath() + "/" + nidout + ".jpg");
if (!file.open(QIODevice::ReadWrite | QIODevice::Text))
{
return;
}
/* Read line of JPG-File and convert to Hex */
while (!file.atEnd())
{
line = file.readAll().toHex().toUpper();
}
/* Remove those wirred signs in the beginning */
qDebug()<<"line: " << line;
line.remove(0,8);
qDebug()<<"lineremoved: " << line;
/* Convert from Hex to old format */
text = QByteArray::fromHex(line);
qDebug()<<"text: " << text;
/* Write to File */
QTextStream saveInFile(&file);
saveInFile << text;
file.close();
QTimer::singleShot(500,this,SLOT(showJPG()));
}
Falls es jemandem Hilft. Wenn ich den JPG-Code mit Notepad++ anschaue befinden sich auf den vier Zeichen ein paar Buchstaben und sind schwarz Hinterlegt.
1. zeichen: NUL
2. zeichen: NUL
3. zeichen: SOH
4. zeichen: í
Hoffe ihr wisst was ich mein
peace Adi