diff options
Diffstat (limited to 'README')
-rw-r--r-- | README | 62 |
1 files changed, 62 insertions, 0 deletions
@@ -0,0 +1,62 @@ +Description + +Lzd is a simplified decompressor for the lzip format with an educational +purpose. Studying its source code is a good first step to understand how +lzip works. Lzd is written in C++. + +The source code 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 code. Lzd is compliant with the +lzip specification; it verifies the 3 integrity factors. + +The source code of lzd is also used as a reference in the description of the +media type 'application/lzip'. +See http://datatracker.ietf.org/doc/draft-diaz-lzip + +Lzd decompresses from standard input to standard output. It accepts (and +ignores) the option '-d' for compatibility with other lzip tools. In +particular, accepting the option '-d' allows lzd to be used as argument to +the option '--lz' of the tools from the zutils package. + +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 program lziprecover 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), Andrei 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-2022 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. |