Tag: zlib

C / C ++打包和压缩

我正在开发一个商业项目,需要将几个文件捆绑(打包)到一个存档中然后进行压缩。 现在我们在我们的实用程序库中有zlib,但它看起来不像zlib具有将多个文件压缩到一个存档中的function。 有没有人知道我可以使用的免费图书馆?

如何膨胀部分zlib文件

我有一个用zlib的deflate()函数压缩的文件的第一个连续的2 / 3rds。 最后1/3在传输中丢失了。 原始未压缩文件为600KB。 发送器多次调用Deflate,同时将原始文件切割为2KB的块大小,并在传递Z_FINISH时将Z_NO_FLUSH传递给文件末尾。 生成的完整压缩文件已传输,但如所述部分丢失。 是否有可能恢复原始文件的一部分? 如果是的话,有什么建议吗? 我正在使用ZLIB的普通C实现和/或ZLIB的Python 2.7实现。

zlib c ++和解压缩文件

我已经开始使用zlib 1.2.5了,我没有看到从zip文件中提取的任何例程? 我读到了一个minizip应用程序,这是发行版的一部分。 这是应该怎么做的?

如何将minizip包装器转换为unicode?

我正在尝试使用[http://www.zlib.net/]的minzip包装来压缩文件夹。 只要文件名是英文,它就可以正常工作。 有没有人试图修改minizip来支持unicode? 修改后的代码发布在下面。 问题在于这个函数,第二个参数将const char *作为输入。 当我进行转换时,它会丢失数据,文件名也不一样。 例如:中文 – 统一码.txt成为zip中的中文-t +ƒS+Çtáü.txt。 err = zipOpenNewFileInZip3_64( zf,outstr.c_str(),&zi, NULL,0,NULL,0,NULL /* comment*/, (opt_compress_level != 0) ? Z_DEFLATED : 0, opt_compress_level,0, /* -MAX_WBITS, DEF_MEM_LEVEL, Z_DEFAULT_STRATEGY, */ -MAX_WBITS, DEF_MEM_LEVEL, Z_DEFAULT_STRATEGY, password,crcFile, zip64); minizip.c Version 1.1, February 14h, 2010 sample part of the MiniZip project – ( http://www.winimage.com/zLibDll/minizip.html ) Copyright (C) […]

在iowin32.h中的宏

我无法理解minizip的iowin32.h中的以下行: void fill_win32_filefunc OF((zlib_filefunc_def* pzlib_filefunc_def)); ( 来源 ,过时但仍然相关) OF宏有什么作用?

在Windows上使用zlib和Unicode文件路径

我正在使用zlib阅读gzip压缩文件。 然后使用打开文件 gzFile gzopen(const char *filepath, const char *mode); 如何处理在Windows上存储为const wchar_t* Unicode文件路径? 在类UNIX平台上,您只需将文件路径转换为UTF-8并调用gzopen(),但这在Windows上无效。

zlib,deflate:要分配多少内存?

我正在使用zlib来压缩文本数据流。 文本数据以块为单位,对于每个块,调用deflate() ,flush设置为Z_NO_FLUSH 。 检索Z_FINISH所有块后,调用deflate()并将flush设置为Z_FINISH 。 当然, deflate()不会在每次调用时产生压缩输出。 它在内部累积数据以实现高压缩率。 那没关系! 每次deflate()产生压缩输出时,该输出都会附加到数据库字段 – 这是一个缓慢的过程。 但是,一旦deflate()产生压缩数据,该数据可能不适合提供的输出缓冲区deflate_out 。 因此需要多次调用deflate() 。 这就是我想要避免的: 有没有办法让deflate_out总是足够大,以便deflate()可以存储所有压缩数据,每次它决定产生输出? 笔记: 未压缩数据的总大小事先是未知的。 如上所述,未压缩数据以块的forms出现,压缩数据也以块的forms附加到数据库字段。 在包含文件zconf.h我发现了以下注释。 那也许是我在找什么? 即(1 << (windowBits+2)) + (1 << (memLevel+9)) deflate()可能产生的压缩数据的最大字节数deflate()以字节为单位deflate() ? /* The memory requirements for deflate are (in bytes): (1 << (windowBits+2)) + (1 << (memLevel+9)) that is: 128K for windowBits=15 + […]

我在哪里可以找到使用zlib的示例unzipper?

我正在寻找一个简单的示例C app,用于使用zlib解压缩zip文件。 它必须支持相当新版本的.zip,并且必须拥有zlib调用的源代码。

在C中放气和膨胀(zlib.h)

我正在尝试实现zlib.h deflate和inflate函数来压缩和解压缩char数组(不是文件)。 我想知道以下语法是否正确? 我错过了什么或定义错误的东西? char a[50] = “Hello World!”; char b[50]; char c[50]; // deflate // zlib struct z_stream defstream; defstream.zalloc = Z_NULL; defstream.zfree = Z_NULL; defstream.opaque = Z_NULL; defstream.avail_in = (uInt)sizeof(a); // size of input defstream.next_in = (Bytef *)a; // input char array defstream.avail_out = (uInt)sizeof(b); // size of output defstream.next_out = (Bytef *)b; […]

有哪些简单的zlib教程?

我正在寻找一个关于zlib的好教程。 我只对解压缩档案感兴趣。 我还想知道如何在存档中访问所需的文件,最好是单独使用文件名,如果可以在zlib中完成的话。