Seite 1 von 1
Binärcode schreiben
Verfasst: Montag 7. Juli 2008, 19:41
von cruel0r
Hey Ho, Hallo erstmal
Ein Kollege und ich möchten für eine Abschlussarbeit ein Programm schreiben, mit welchem wir ein BMP in ein JPEG File umwandeln können. Nun fragen wir uns, ob man mit Python eine Datei direkt mit Maschienencode schreiben kann, wie mit einem HexEditor. Die Arbeit dreht sich auch um das Mathematische dahinter, mit DCT und allem; also dürfen wir nicht auf irgendwelche evtl vorgefertigte Plugins zurückgreifen, falls es die gibt.
Also, ist es möglich direkt Maschienencode / HexCode zu schreiben, oder geht das net?
Gruss cruel0r
Verfasst: Montag 7. Juli 2008, 19:43
von Karl
Du kannst mit jedem Texteditor ein Bild "schreiben". Also kann Python das auch

Edit: Maschinencode brauchst du für ein Bild aber nicht

Verfasst: Montag 7. Juli 2008, 19:56
von cruel0r
nope, ein Texteditor speichert die Zeichen als Maschienencode mit ASCII, ich möchte Binär schreiben. Und für ein Bild braucht man sehrwohl HexCode^^
Hier der Text "Hello World" in HexCode:
Und das ist ein BMP:
Code: Alles auswählen
424DF80000000000000036000000280000000800000008000000010018[...]
Und das das gleiche Bild in JPEG (JFIF):
Code: Alles auswählen
FFD8FFE000104A46494600010200006400640000FFDB0084000[...]
Und eben, ich müsste solchen Code schreiben können. Kann man das mit Python, oder nicht?
€dit: Zeilen gekürzt
Verfasst: Montag 7. Juli 2008, 19:58
von Pekh
Erkläre mir bitte mal den Unterschied zwischen Hex und einem (eingeschränkten) ASCII-Satz.

Verfasst: Montag 7. Juli 2008, 20:04
von EyDu
Schau Dir mal das struct-Modul an.
Verfasst: Montag 7. Juli 2008, 20:10
von cruel0r
Ists jetzt möglich oder nicht?
Ich kenn mich mit Python (noch) zuwenig aus, ich möchte einfach wissen, obs möglich ist. Wenn ja, arbeite ich mich in Python ein, wenn nicht, suche ich eine Andere sprache, mit ders möglich ist.
Gruss cruel0r
Verfasst: Montag 7. Juli 2008, 20:27
von EyDu
Ja, natürlich ist es möglich. Und es ist nicht mal besonders schwierig.
Verfasst: Montag 7. Juli 2008, 20:30
von cruel0r
Hmm ok^^
Dann fangen wir einmal an, uns etwas einzuarbeiten.
Danke
Gruss cruel0r
Verfasst: Montag 7. Juli 2008, 20:40
von Karl
cruel0r hat geschrieben:nope, ein Texteditor speichert die Zeichen als Maschienencode mit ASCII, ich möchte Binär schreiben. Und für ein Bild braucht man sehrwohl HexCode^^
Weißt du überhaupt was ASCII, Hex, usw ist?
Vielleicht solltest du bevor du dich einarbeitest, erstmal da einarbeiten

Verfasst: Montag 7. Juli 2008, 20:44
von cruel0r
Naja, so den Groben überblick hab ich (denke ich zumindest)
Wie man das richtig ausdeutscht weiss ich net richtig.
Naja, ich weiss zumindest wie ein JPEG in Hex aussieht und aufgebaut ist. Jetzt gehört da nur noch ein Python-proggie drumherum.
Gruss cruel0r
Verfasst: Montag 7. Juli 2008, 21:32
von Karl
cruel0r hat geschrieben:Naja, so den Groben überblick hab ich (denke ich zumindest)
Wie man das richtig ausdeutscht weiss ich net richtig.
Naja, ich weiss zumindest wie ein JPEG in Hex aussieht und aufgebaut ist. Jetzt gehört da nur noch ein Python-proggie drumherum.
Gruss cruel0r
Das hört sich ja nicht sehr überzeugend an. Aber hauptsache mir mal widersprechen :p
Nein ehrlich, wenn du dich schon intensiv mit dem Hexcode eines JPG-Files auseinandersetzen willst, solltest du auch wissen, was das ist.
Ist im Prinzip auch recht simpel, also besteht kein Grund, sich da nicht zu informieren, vorallem da das grundlegende Kenntnisse sind, die man einfach haben sollte, wenn man sich viel mit Computern beschäftigt.
Verfasst: Montag 7. Juli 2008, 21:46
von cruel0r
Sorry, so sollte es nicht rüberkommen.
Unser Ziel ist es eine BMP Datei per python auszulesen, die mit den gängigen Methoden (DCT, Quantisierung, etc...) zu komprimieren und ein von Windows lesbares .jpg file herzustellen. Mein kollege und ich haben uns in den Aufbau des JPEG als Datei schon eingearbeitet, wir wissen, wie wir ein JPEG schreiben müssen. Wir könnten es also schon theoretisch per HexEditor und Tastatur manuell schreiben. (Wikipedia & Google sei dank)
Gruss cruel0r & Danke für den Hinweis
Verfasst: Montag 7. Juli 2008, 22:12
von Karl
cruel0r hat geschrieben:Sorry, so sollte es nicht rüberkommen.
Unser Ziel ist es eine BMP Datei per python auszulesen, die mit den gängigen Methoden (DCT, Quantisierung, etc...) zu komprimieren und ein von Windows lesbares .jpg file herzustellen. Mein kollege und ich haben uns in den Aufbau des JPEG als Datei schon eingearbeitet, wir wissen, wie wir ein JPEG schreiben müssen. Wir könnten es also schon theoretisch per HexEditor und Tastatur manuell schreiben. (Wikipedia & Google sei dank)
Gruss cruel0r & Danke für den Hinweis
Ja aber ich meinte eigentlich, dass es so rüberkommt, als wüsstest du nicht, was Hex, ASCII, Maschinencode usw eigentlich alles ist.
Und dass du dir das vielleicht auch mal anlesen solltest, weil das wie gesagt grundlegend ist. Viel grundlegender, als zu wissen, wie ein Bildformat aufgebaut ist.
Wenn dir das alles klar wäre, wäre dir auch klar gewesen, dass man mit Python auch Bilddateien schreiben kann.
Maschinencode hat zum Beispiel gar nichts mit dem Thema zu tun
