Header

aus RHWiki, der freien Romhacking-Enzyklopädie

Header bedeutet eine Reihe von Feldern, die Informationen über Art und Format von zugehörigen Daten enthalten. Die Daten können dabei entweder direkt auf den Header folgen, oder durch einen Pointer oder Index im Header referenziert sein.

z.B. hat jede Bitmap-Datei (auf Windows) einen Header, der beschreibt, wie groß das Bild ist und wieviele Farben es benutzt. Jedes komplexere Dateiformat hat heute mindestens einen Header. Dazu können noch Sekundäre Header definiert sein, die bestimmte Unterbereiche der Datei definieren usw.

Unter Umständen spricht man auch von Header, wenn eigentlich keine Daten folgen, sondern nur Eigenschaften definiert werden. In diesem Fall wäre der Begriff 'Struktur' aber passender.

Notation / Interpretation

Es sind hauptsächlich zwei Methoden zur Notation von Headern geläufig, wovon erstere für eigenständige Dateiformate gängiger ist, und sich zweitere im RH eingebürgert hat.

1.
Man listet tabellenartig alle definierten Felder mit Größe, Name und Beschreibung auf.

Beispiel:

Größe Name         Beschreibung
--------------------------------------------------------------
1     Magic Byte   Muss immer X sein, damit Datei erkannt wird.
1     Subformat    1 für Standard, 2 für Erweitert
2     Version      Version
...   ...          ...

2.
Im RH ist man dazu übergegangen, Header und Strukturen als Auflistung von Feldern in eckigen Klammern zu notieren.

Beispiel:

[Rahmenblock (1 Byte)][Y-Größe (1 Byte)][X-Größe (1 Byte)][...]

oder einfach nur

[Rahmenblock][Y-Größe][X-Größe][...]

Mit der Bemerkung "Jedes Feld verbraucht ein Byte".

Siehe auch

'Persönliche Werkzeuge