C++ 需要使用标准库进行简单的字节解压缩

C++ 需要使用标准库进行简单的字节解压缩,c++,compression,C++,Compression,我知道有几个问题接近这个问题,但我还没有找到一个令人满意的答案 我在C++中寻找一个简单的字节压缩方法。对我来说,将应用程序的大小保持在最小是非常重要的,因此我想使用一个在每个windows版本中都可用的库(从xp和更高版本开始)。我不想使用.net或将大型.dll添加到我的应用程序中 我对速度和小尺寸比对压缩率更感兴趣 有人能帮我做这个吗?我刚从VB.NET转换到C++,所以我对这门语言很陌生:我对这个库很满意。查找字节对编码,但我认为它不在任何标准库中。编码器/压缩器和解码器/解压器小巧快速

我知道有几个问题接近这个问题,但我还没有找到一个令人满意的答案

我在C++中寻找一个简单的字节压缩方法。对我来说,将应用程序的大小保持在最小是非常重要的,因此我想使用一个在每个windows版本中都可用的库(从xp和更高版本开始)。我不想使用.net或将大型.dll添加到我的应用程序中

我对速度和小尺寸比对压缩率更感兴趣


有人能帮我做这个吗?我刚从VB.NET转换到C++,所以我对这门语言很陌生:我对这个库很满意。

查找字节对编码,但我认为它不在任何标准库中。编码器/压缩器和解码器/解压器小巧快速,您只需在应用程序中包含它们的代码即可。@AlexeyFrunze这是我在考虑编写自己的压缩函数时的第一个想法。但这似乎只对文本压缩有效。你有关于数据压缩率的信息吗?压缩很大程度上取决于数据。我已经将一些可执行文件和源代码文件压缩到原始文件的30%到50%。您还可以通过使用BLOCKSIZE、HASHSIZE、MAXCHARS和THRESHOLD(我指的是Philip Gage在Dobb博士的文章中描述的代码)来调整压缩。说到简单和小,您试过LZ4吗?我在研究期间经常遇到这个图书馆。然而,我在应用程序中实现它时遇到了困难。我一直在使用vb.net的gzipstream进行压缩。我已经读到可以用zlib解压这些数据。不过,我还没有弄明白怎么做。即使我包括zlib.h,我也不知道我必须使用什么函数。你能给我提供更多的信息甚至一个小例子吗?另外,zlib给我的应用程序增加了多少kb,你能给出一个大概的数字吗?我不知道有多少代码会链接到你的应用程序中。你需要亲自去看看。zlib网站上的使用示例非常简洁:@Lotzki应该知道gzip和zlib是相似的,但并不完全可以互换。然而,从称为gzipstream的东西中产生的数据应该可以通过zlib函数进行解压缩(如果您找到正确的函数)。不要羞于问关于zlib使用的更具体的问题,特别是因为至少有一位作者在堆栈溢出问题上闲逛。