2008-09-16 45 views
5

sự hiểu biết của tôi về các định dạng tập tin gói Git là một cái gì đó như: alt textGit tập tin định dạng gói entry

đâu bảng là 32-bit rộng, và ba chữ 32-bit đầu tiên là phần đầu tập tin gói. Hàng cuối cùng của 32 bit là 4 byte đầu tiên của một mục nhập. Khi tôi hiểu nó, kích thước của mục được xác định bởi các byte liên tiếp với tập MSB, tiếp theo là dữ liệu nén.

Trong byte đầu tiên có MSB không được đặt, là phần MSB của dữ liệu đã nén hay là khoảng trống? Nếu nó là một phần của dữ liệu nén, làm thế nào bạn có thể đảm bảo rằng khi dữ liệu được nén thì bit đó sẽ không được thiết lập?

Trả lời

11

đọc của tôi về các pack file documentation chỉ ra rằng byte cuối cùng của kích thước (bù 15 trong ví dụ của bạn) sẽ phải tập MSB 0.

+0

Tôi đã không nhận ra định dạng tệp gói đã được mô tả trong tài liệu kỹ thuật. Tôi thậm chí còn nhìn và không tìm thấy nó. Rất tốt. Tôi đoán đó là điểm mù của tôi. Cảm ơn! –

6

Ngoài ra còn có một số tài liệu đồ họa giải thích một số các định dạng here. Phần này không còn tồn tại trong sách Cộng đồng, nhưng vẫn có sẵn vị trí ở trên.

Các vấn đề liên quan