Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Empfohlene Antworten

Veröffentlicht

Kann mir jemand vielleicht erklären, wie man die Daten, die der Hex Editor ausgibt richtig interpretiert? :confused:

Wo kann ich sehen, wie groß die Datei ist, wo sehe ich die Farbtiefe etc.?

Ich bin für jede Hilfe dankbar!

Mir geht es in erster Linie um BMPs und ähnliche Grafikformate!!!

Als ob ich das nicht schon gemacht hätte...ich poste eigentlich nur ins Forum, wenn Google nicht's ausgespuckt

(Und ja, ich habe richtig & ausführlich gesucht!!!)

Um was es mir letzendlich geht ist zu verstehen, was ein Hex-Editor in den einzelnen Offset-Zeilen angibt...sprich: In welcher Zeile finde ich die Dateigröße, die Farbtiefe, etc.

Bearbeitet von Gooner85

Sorry, aber dann musst Du total falsch gesucht haben...

Was Du im Hex-Editor siehst, ist einfach:

Die reine unverfälschte Schönheit der reinen Binärdaten, ohne jede Interprätation... (Ok, meist in Gruppen zusammengefasst und als Hexadezimal dargestellt, aber das ist ja net das Problem...)

Was es zu bedeuten hat?

Kommt ganz auf das verwendete Dateiformat an...

Du hast vorhin von .bmp gesprochen, dann schick ich Dir nochmal den ersten Treffer, den Google ausspuckt: http://letmegooglethatforyou.com/?q=bmp&l=1

Da steht genau das, wonach Du gefragt hast (für bmp jedenfalls)

Für weitere Dateiformate : Google ist Dein Freund...

tsg

Bearbeitet von truebsalgeblaese

Der Link hat mir schon weitergeholfen, danke dafür

...allerdings würde ich gerne wissen, wie man aus den spezifischen Hex-Code eines beliebigen bmp Bildes die Informationen entnehmen kann.

Also z.B. wie kann ich herausfinden wie groß die "Breite der Bitmap in Pixel" (Offset 18) bei einem beliebigen Bild ist.

Also z.B. wie kann ich herausfinden wie groß die "Breite der Bitmap in Pixel" (Offset 18) bei einem beliebigen Bild ist.

Indem du dir die 4 Bytes ab Offset 18 ansiehst. Da das Format Little Endian ist, nimmst du das erste Byte, wie es ist, multiplizierst das zweite mit 256, das dritte mit 256^2 und das vierte mit 256^3 und zählst das alles zusammen.

OOOoook...

Grundlagen in Bezug auf Zahlensysteme hatte ich irgendwie vorausgesetzt...

Weil ohne die wird es echt lange dies zu erklären...

Zum Thema Hexadezimal: Hexadezimalsystem ? Wikipedia

Aber OK: mach ich halt einmal ein BMP bei mir auf,

42 4d aa 8a 25 00 00 00 00 36 00 00 00 28 00

00 00 43 04 00 00 ef 02 00 01 00 18 00 00 00

00 00 74 8a 25 00 ....

und suche mir Offset 18 (dezimal), und nehme mir die 4 bytes heraus:

43 04 00 00

Diese drehe ich einmal um (little endian... Byte-Reihenfolge ? Wikipedia)

und habe den Wert: 00 00 04 43

dieser in unser (ähhm.. Dein :floet:) gewohntes Dezimalsystem umgerechnet ergibt 1091 - was genau der Breite meines Bildes entspricht.

usw....

tsg

Vielen dank für die vollständige Erklärung!!!

Leider musste ich feststellen, dass ich alles, was Du erklärt hat bereits wusste.

:D

Der Knackpunkt war nur, dass ich zu doof war, den Hex-Code in Dezimal umzuwandeln, weil ich die ganze Zeit mit dem Faktor 10 statt 16 gerechnet habe...deshalb habe ich immer falsche Werte rausbekommen.

(Und dann hab' ich mich auch noch gefragt, warum bei meiner Rechnung das Hexzahl und Dezimalzahl übereinstimmen.) :upps

Danke nochmal für die Hilfe und die ausführliche Erklärung, die mir gezeigt hat, dass ich doch nicht auf dem Holzpfad war! :uli

Allerdings ist mir noch nicht ganz klar, welche 4 Bytes ich aus der jeweiligen Offset-Zeile auswählen muss!

Bearbeitet von Gooner85

Aber OK: mach ich halt einmal ein BMP bei mir auf,

42 4d aa 8a 25 00 00 00 00 36 00 00 00 28 00

00 00 43 04 00 00 ef 02 00 01 00 18 00 00 00

00 00 74 8a 25 00 ....

und suche mir Offset 18 (dezimal), und nehme mir die 4 bytes heraus:

43 04 00 00

tsg

Woher weißt Du, dass Du 43 04 00 00 nehmen musst und nicht z.B. ef 02 00 01 ???

Weil ab Offset/Byte 18 (laut Doku) die Breite steht. Wenn du jetzt mal die die Stellen vom Anfang an mal zählst, wirst du feststellen das ab "Stelle" 18 eben 43 04 00 00 steht. Laut Dokumentation hat der Wert 4 Byte, daher werden also ab Offset 18 die nächsten 4 Byte als Breite interpretiert.

Vielen Dank für eure Hilfe...

Keine weiteren Fragen, was dieses Thema anbelangt ;-)

Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.