Zlib压缩扩大文件

Chr*_*nam -1 c c++ zlib ios

我试图在iPhone应用程序中使用zlib将文本文件压缩为gzip文件作为测试.我使用以下代码

const char *s = [[Path stringByReplacingOccurrencesOfString:[NSString stringWithFormat:@".%@", [Path pathExtension]] withString:@".gz"] UTF8String];
gzFile *fi = (gzFile *)gzopen(s, "wb");
const char *c = readFile(Path.UTF8String);
gzwrite(fi, c, strlen(c));
gzclose(fi);
Run Code Online (Sandbox Code Playgroud)

其中readFile()返回const char*一个从使用该文件而获得fgets()的功能.问题是,当我使用它来压缩文件时,它不会压缩它,而是gzip文件比原始文件大.例如,我有一个90字节的文本文件,使用此方法后,gzip的大小为98字节.为什么gzip不比原始文件小?

j__*_*__m 6

GZip格式包括固定大小的头信息.因为您压缩的数据太少,所以标题信息大于您保存的空间.

90字节通常不值得压缩.

http://www.gzip.org/zlib/rfc-gzip.html#header-trailer