Tag: 解压缩

简单的ASCII压缩 – 帮助最小化系统调用

在我的上一个问题中 ,nos提供了一种从ASCII字符字节中删除最重要位的方法,这与我教授在描述项目时所说的完全一致。 我的问题是如何剥离有效位并使用write命令将其打包到缓冲区中。 由于write命令占用了要写入的字节数的长度,因此如何更深入地处理缓冲区数组的位级别?

如何在C中解压缩已经加载到内存中的zip文件?

我正在编写一个服务器,它从客户端接收一个zip文件,然后解压缩该文件。 当我收到zip文件时,我将其存储在内存中。 我发现并尝试使用某个库来上传zip文件,例如zlib和minizip,但是所有这些文件解压缩存在于磁盘上的文件,而不是内存。 我不想将文件临时保存到磁盘并提取它,它效率不高。 如何从内存中解压缩文件? 我在Windows上编写C和C ++。

如何膨胀部分zlib文件

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

使用回调从外部解压缩dll显示文件名(Inno Setup)

最初在这里被问到,但被要求将其作为一个单独的问题提交。 我在下面的C中编写了以下dll,我在Inno Setup Installer中使用它来提取游戏文件。 这是一个最初使用16位安装程序的游戏的替换安装程序,文件从CD-ROM中复制。 我希望能够使用InnoTools InnoCallback来显示使用我的dll提取的文件名,但由于这是我第一次尝试使用C编码,我不知道该怎么做。 可以在此处找到此function的示例: http : //freearc.org/InnoSetup.aspx 我希望能够使用外部DLL中的文件名设置WizardForm.FilenameLabel.Caption。 我的Inno安装脚本的相关部分: function VolEx( filename, outputpath: String ): Integer; external ‘VolEx@files:volex.dll stdcall’; (DriveLetter是CD-ROM的路径,即“D:\”,因此输出当前显示为“D:\ world \ archive.vol”。我的目标是“C:\ game-path \ world” \存档\ file.ext“) procedure VolExtract(); begin if not DirExists(WizardDirValue() + ‘\’ + Worlds[w]) then begin CreateDir(WizardDirValue() + ‘\’ + Worlds[w]); end; for n := 0 to […]

任何人都可以为这个插口算法代码Pitiny.c做头或者故事

这个C程序只有143个字符! 但它“解压缩”成Pi的前10,000个数字。 // Created by cheeseMan on 30/11/13. long a[35014],b,c=35014,d,e,f=1e4,g,h; int main(int argc, const char * argv[]) { for(;(b=c-=14); h=printf(“%04ld”,e+d/f)) for(e=d%=f;(g=–b*2);d/=g) d=d*b+f*(h?a[b]:f/5), a[b]=d%–g; } 当我遇到这个pitiny.c时,我正在研究无损压缩算法,但仍然没有运气。 奇怪的是,它成功编译没有错误或错误,但就像我说我不能成为代码的头或者故事,甚至它的语法。 我想知道最近发生了什么? 这究竟是做什么的?