这里是LDS(lossless data-compression sources)的KIT.我发现很多人都想这么一份压缩软件的源代码,但是他们很难找到,特别是一些比较好的.
所有的源代码已经用Borland C++编译成功.每个目录中都包含一个makefile或者是make.bat用以创建可执行的文件.其它的编译器或操作系统需要改动一些地方.
所有的源代码包括它们的原始文档.
中国程序员网站-江湖小子
[fasoft@21cn.com]
[http://chinaprog.silversand.net]
[http://chinaprog.wol.com.cn]
=========
AR002
Contains a complete archiver by Haruhiko Okumura. The archiver uses
an LZ engine whose output is compressed with static Huffman. The
file is chopped into pieces which all get their own independent
set of Huffman tree's. ARJ 2.41, ZIP 2.0 and PKZIP 2.04g use
essentially the same method. ZOO and LHA even use excactly the
same method.
LZW
The famous Lempel Ziv Welch compressor. This version by Kent Williams.
COMP
Arithmetic compression written by Mark R. Nelson. Published in
Dr Dobbs february 1991. Contains a basic arithmetic compressor
and a higher order arithmetic compressor.
ASH
A "brother" of the higher order compressor from Nelson written by
Charles Ashford. Ingenious program which makes use of the very limited
memory of the PC and still can process large files. One price to pay,
it is VERY slow. The tigthest compressor in the Dr Dobbs compression
contest.
FIN
Finish submission to the Dr Dobbs contest written by Jussi Puttonen,
Timo Raita and Jukka Teuhola. The fastest DOS compressor I know of.
The origional is in 100% assembly. I derived a C version (which I
published before in PC Newsflash).
HUF
Static Huffman compression/decompression by William Demas.
LZ
LZSS by Haruhiko Okumura. LZARI by Haruhiko Okumura, the first
compressor recompressing the output of the LZ engine. Haruyasu
Yoshizaki (the author of LHarc and LHA) replaced the ARI compressor
by dynamic Huffman, LZHUF.
SPLAY
Splay tree compression written by Kim Kokkonen. Splay tree compression
is a "nephew" of Huffman compression. It is faster but achieves less
compression in most cases.
LZRW1
LZRW1 compressor by Ross Williams. A very fast LZ compressor. Not as
fast as FIN but it has a better compression ratio. I appended a small
part to show it really works. This implementation of LZRW1 uses memory
as source and destination, not disk.