2010-12-11 50 views
2

我正在研究解析某個文件,取消加密,進行更改,重新加密和保存的小應用程序。它運行良好,但爲了工作,我需要手動將其解壓縮,在輸出上運行應用程序,然後gzip從中得到。我只是想知道,如果有人知道我可以用來在Windows上運行的C++應用程序中自動執行這兩個階段的優雅解決方案/庫。如果可以檢測文件是否首先被gzip壓縮,則爲獎勵積分。我需要ungzip/regzip一個文件,以在我的C++中進行編輯

非常感謝!

回答

2

Zlib這樣做。而CGZip爲它實現了一個C++包裝器。 here是如何檢測給定文件是否被壓縮的示例。

測試GZIP文件

首先,我們應該參考 「RFC 1952,GZIP文件格式規範4.3版」。這是屏幕截圖中顯示的文檔。它包含有關GZIP文件的文件結構的有用信息。它指出,前兩個字節包含固定值:

ID1(識別1)

ID2(識別2)

這些具有固定值ID1 = 31(0x1F的,\ 037),ID2 = 139(0x8b,\ 213), 將文件標識爲gzip格式。

+0

這是星期六,我在8分鐘內得到回覆。多棒的網站。非常感謝! – Grazfather 2010-12-11 19:58:15

相關問題