Skip to content

Latest commit

 

History

History
40 lines (37 loc) · 1.83 KB

README.md

File metadata and controls

40 lines (37 loc) · 1.83 KB

TextCompressor with compression and decompression algorithms: LZW RLE Huffman Coding algorithm.

For effective compression of text information without loss, three main ones are used methods: LZW (Lempel-Ziv-Welch), RLE (Run-Length Encoding) and Huffman Coding. Each of of these methods has its own unique features and principles of work that interact for achieving optimal results.

Input Data

  1. Text information for compression: User must enter a file path (including file name) which it wants to zip/unzip.
  2. Selection of the compression method:  The user selects the compression method from the available options: LZW, RLE, or Huffman Coding using the dropdown list.
  3. Checking the correctness of input:  The program has built-in input control mechanisms. An error message system is displayed in case of an incorrect one entering the path to the file or not choosing the compression method.
  4. Input data format:  Input is accepted as text.
  5. Size and volume of input data:  The program can process text information of any size but actual processing volumes may depend on memory characteristics computer and its resources.
  6. Protection against errors in input data:  To prevent errors in the input data, a built-in is provided a mechanism for checking the correctness of input, which includes a check valid characters and data types.

Resulting Information

  1. Compressed and decompressed data:  The program creates a new text document with the name specified by the user.
  2. Performance statistics:  Program results include performance statistics of the selected compression method: degree of compression (in %), compression time, memory usage before/after compression.
  3. Error messages and status:  The program provides error messages for information user in case of incorrect input data or other situations that require the user's attention