gpt4 book ai didi

c++ - Zlib压缩放大文件

转载 作者:行者123 更新时间:2023-11-30 18:18:06 53 4
gpt4 key购买 nike

我尝试在 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);

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

最佳答案

GZip 格式包含固定大小的 header 信息。由于您压缩的数据非常少,因此 header 信息比您节省的空间要大。

90 字节通常不值得压缩。

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

关于c++ - Zlib压缩放大文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15594669/

53 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com