<font color=red>300+More高分征求压缩算法!</font>(300分)

  • 主题发起人 主题发起人 Sachow
  • 开始时间 开始时间
S

Sachow

Unregistered / Unconfirmed
GUEST, unregistred user!
今天决花点工本来研究数据压缩算法原理,哪位大侠自已做过压缩的,万望赐教!
只要能告知现在流行的任意一种压缩算法原理及其实际即可,如果有源代码更好,
但如果只有源代码的话……小菜怕看不懂。8(
如果有价值的信息很多的话,这个论题继续加分!300+300+300...
 
300+300+300...我都要幸福的昏过去了
http://vcl.vclxx.org 上
或者镜象点
http://202.117.63.232/delphi/DELPHIGB/AAAT1027.HTM#COMPRESS
少说有十几个
 
具体的理论得自己看有关信息论与编码的书 不是一两句可以讲清楚的
 
Delphi有一个zlib.dcu库,专用来压缩文件!

program MyZip;

uses
Windows, Zlib, Classes, SysUtils;

{$R *.RES}

var inF, ouF, zpF: TStream;
buf: array[1..1024]of char;
i: integer;
begin
inF:=TFileStream.Create('Papper.ini', fmOpenRead);
ouF:=TFileStream.Create('Papper.Z', fmCreate);
zpF:=TCompressionStream.Create(clDefault, ouF);
zpF.CopyFrom(inF, 0);
zpF.Free;
inF.Free;
ouF.Free;

inF:=TFileStream.Create('Papper.Z', fmOpenRead);
ouF:=TFileStream.Create('Papper.txt', fmCreate);
zpF:=TDecompressionStream.Create(inF);
i:=zpF.Read(buf, 1024);
while i&gt;0 do begin
ouF.Write(buf, i);
i:=zpF.Read(buf, 1024);
end;
ouF.Free;
zpF.Free;
inF.Free;
end.

此程序将Papper.ini 压缩-&gt; Papper.Z 解压缩-&gt;Papper.txt
但是算法与WinZip不兼容,及时加入zip的头文件,用WinZip也解不开。

不知哪位大侠有高招,说来听听!

 
zlib能满足一般应用。
 

DFW 控件里,有个能解rar

http://www.csdn.net/Dev/Format/#压缩

有很多资料!!!!


 
到32位深度历险去吧,那里有很多。
 
大富翁的练功场上有一个很好的压缩控件(支持的格式相当的多),你为什么不去下载呢?
我粗粗的看了一下,有源码的.
 
pass提到的信息很有价值,我弄了一些在看。各位是否知道有哪些书是讲了压缩原理的,
介绍给小菜读读?
 
Zlib是一个未公开的dcu,怎样能找到相关资料?
OopsWare: 你给的zlib的用法中解压的那一部分不行,会进入死循环,该怎么改?
 
Delphi常用的压缩控件包:
TurboPower公司的Abbrevia
zipTV
VCLZip(带源码)
 
我已经下载了一大堆源代码了,但是这些源代码都是冗长乏味的,读起来太伤脑筋了,
现在我最想要原理,知道原理才知道怎么做。
 
原理吗?找本《信息论与编码》,包你看完以后大喊
无聊!呵呵
知道原理何用?原理上行得通,实际上编不出来,实际用的
算法都是所谓“工程算法”,要求实际可行性,追求效率与
速率的统一。
不过还是祝你如愿,我也曾梦想编个霍夫曼压缩的,好难的说:)
 
zlib的解压确实有些问题,用的时候应该将其源代码
稍作修改(我是这样做的),使他更符合使用习惯。

zlib的所有源代码在Delphi光盘上extra目录,
或者干脆搜索zlib算了!
 
咋天我刚刚看到几本讲压缩算法的书,其中介绍了Huffman编码、Shannon编码、
算术编码等。的确,上面讲的都是工程算法,要根据书上介绍的那些个公式编制
出程序代码,我……^%@&amp;^!#$)!(晕倒)
谢谢各位的发言,现在我总是比以前知道了更多有关压缩的知识了。
 
多人接受答案了。
 
后退
顶部