55 lines
2.5 KiB
Text
55 lines
2.5 KiB
Text
Description
|
|
|
|
Lzd is a simplified decompressor for the lzip format with an educational
|
|
purpose. Studying its source is a good first step to understand how lzip
|
|
works. It is not safe to use lzd for any real work.
|
|
|
|
The source of lzd is used in the lzip manual as a reference decompressor
|
|
in the description of the lzip file format. Reading the lzip manual will
|
|
help you understand the source.
|
|
|
|
Lzd decompresses from standard input to standard output. Lzd will
|
|
correctly decompress the concatenation of two or more compressed files.
|
|
The result is the concatenation of the corresponding decompressed data.
|
|
Integrity of such concatenated compressed input is also verified.
|
|
|
|
The lzip file format is designed for data sharing and long-term
|
|
archiving, taking into account both data integrity and decoder
|
|
availability:
|
|
|
|
* The lzip format provides very safe integrity checking and some data
|
|
recovery means. The lziprecover program can repair bit-flip errors
|
|
(one of the most common forms of data corruption) in lzip files,
|
|
and provides data recovery capabilities, including error-checked
|
|
merging of damaged copies of a file.
|
|
|
|
* The lzip format is as simple as possible (but not simpler). The
|
|
lzip manual provides the source code of a simple decompressor along
|
|
with a detailed explanation of how it works, so that with the only
|
|
help of the lzip manual it would be possible for a digital
|
|
archaeologist to extract the data from a lzip file long after
|
|
quantum computers eventually render LZMA obsolete.
|
|
|
|
* Additionally the lzip reference implementation is copylefted, which
|
|
guarantees that it will remain free forever.
|
|
|
|
A nice feature of the lzip format is that a corrupt byte is easier to
|
|
repair the nearer it is from the beginning of the file. Therefore, with
|
|
the help of lziprecover, losing an entire archive just because of a
|
|
corrupt byte near the beginning is a thing of the past.
|
|
|
|
The ideas embodied in lzd are due to (at least) the following people:
|
|
Abraham Lempel and Jacob Ziv (for the LZ algorithm), Andrey Markov (for
|
|
the definition of Markov chains), G.N.N. Martin (for the definition of
|
|
range encoding), and Igor Pavlov (for putting all the above together in
|
|
LZMA).
|
|
|
|
|
|
Copyright (C) 2013-2017 Antonio Diaz Diaz.
|
|
|
|
This file is free documentation: you have unlimited permission to copy,
|
|
distribute and modify it.
|
|
|
|
The file Makefile.in is a data file used by configure to produce the
|
|
Makefile. It has the same copyright owner and permissions that configure
|
|
itself.
|