2010-12-11 54 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

相关问题