The encoder project named by me is created for studying basics of information theory and encoding. The executable is a program for compressing, error-detection/correction and encryption of data.
| Data: | 4z0t | format version | data type | files count | Total |
|---|---|---|---|---|---|
| Bytes: | 4 | 4 | 4 | 4 | 16 |
After header files' data is written in this format:
| Data: | data size | file name size | compression type | encryption type | protection type | additional data | Total |
|---|---|---|---|---|---|---|---|
| Bytes: | 8 | 4 | 4 | 4 | 4 | 8 | 32 |
After file header filename is written with its relative path in folder being encoded. Depending on the compression type, encryption type and protection type file's data is written.
There are 3 arguments and 3 flags defined right now:
--decodeand--encodeare arguments for defining path(s) for file(s) to be processed--intois argument for path where to store encoded/decoded data-lz77and-shanon-fanoare flags for compression types-hammingis flag for protection type