Frage

Mein Verständnis des Git-Pack-Dateiformat ist so etwas wie: alt text

Wenn der Tisch 32-Bit breit, und die ersten drei 32-Bit-Worte sind die Pack-Datei-Header. Die letzte Zeile von 32 Bits sind die ersten 4 Bytes eines Eintrags. Wie ich es, die Größe des Eintrags verstehen wird durch aufeinanderfolgende Bytes mit dem MSB Satz angegeben, von komprimierten Daten gefolgt.

Im ersten Byte, dessen MSB nicht gesetzt ist, ist der MSB-Teil der komprimierten Daten, oder ist es eine Lücke? Wenn es ein Teil der komprimierten Daten ist, wie können Sie garantieren, dass, wenn die Daten komprimiert, dass Bit wird nicht gesetzt?

War es hilfreich?

Lösung

Meine Lesart der Pack-Datei Dokumentation das letzte Byte der Größe gibt an, dass (15 in Ihrem Beispiel Offset) würde das MSB auf 0 gesetzt hat.

Andere Tipps

Es gibt auch einige grafische Dokumentation einige des Formats erklären hier . Dieser Abschnitt ist nicht mehr vorhanden in der Gemeinschaft Buch, aber es die Lage oben noch zur Verfügung.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top