https://github.com/nisarldev/file_compressor_rust
File compressor programming on Rust language.
https://github.com/nisarldev/file_compressor_rust
gzip-compression rust
Last synced: about 1 year ago
JSON representation
File compressor programming on Rust language.
- Host: GitHub
- URL: https://github.com/nisarldev/file_compressor_rust
- Owner: NisarLDev
- License: gpl-3.0
- Created: 2023-05-03T01:12:21.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2023-05-19T09:33:20.000Z (about 3 years ago)
- Last Synced: 2025-02-15T18:52:10.446Z (over 1 year ago)
- Topics: gzip-compression, rust
- Language: Rust
- Homepage:
- Size: 56.6 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# File_Compressor_Rust
## This is a firt version of the programme
The programme compress the files with gzip algorithm based on the other algorithm named LZ77 (Lempel-Ziv 77).
For more information read this pages:
1 - https://www.gzip.org/
2 - https://www.dcc.uchile.cl/~skreft/downloads/pdf/KN09.pdf
3 - https://learn.microsoft.com/en-us/openspecs/windows_protocols/ms-wusp/fb98aa28-5cd7-407f-8869-a6cef1ff1ccb
4 - https://cs.stanford.edu/people/eroberts/courses/soco/projects/data-compression/lossless/lz77/example.htm
5 - https://cs.stanford.edu/people/eroberts/courses/soco/projects/data-compression/lossless/lz77/concept.htm
6 - http://gedlc.ulpgc.es/docencia/seminarios/cd/Diccionarios/tsld011.htm
7 - http://www.gedlc.ulpgc.es/docencia/seminarios/cd/Diccionarios/tsld015.htm
8 - http://www.gedlc.ulpgc.es/docencia/seminarios/cd/Diccionarios/tsld016.htm
9 - https://courses.cs.duke.edu/spring11/cps296.3/compression4.pdf
10 - https://devtuto.io/understanding-the-lz77-compression-algorithm/
Instructions for compilling binary and utilization of the programme:
1 - Clone the repository with the next command: git clone https://github.com/NisarLDev/File_Compressor_Rust
2 - Execute the next command: "cargo run" (without braquets) into the folder of the project in order of compilling the programme.
For more information about Rust and the process of the instalation, look next page:
1 - https://www.rust-lang.org/learn/get-started
## Instructions for use of this program
1 - Enter on a terminal of commands system's the location of the binary executable file.
2 - Enter on a terminal of commands system's the location of the file you want to compress.
3 - Enter on a terminal of commands system's the name the file resultant of the compression process with the extension file name .gz.
4 - Press the Enter key.
#### Bibliography:
1 - https://invidious.privacydev.net/watch?v=cSD3HzkvQoI
2 - https://github.com/AkhilSharma90/Rust-Compress
3 - Fixing unused imports · Issue #56 · rust-lang/rustfix
https://github.com/rust-lang/rustfix/issues/56
4 - Add auto-fixable suggestion to remove unused imports · Issue #47888 · rust-lang/rust
https://github.com/rust-lang/rust/issues/47888
5 - Compile error · Issue #205 · rust-lang/flate2-rs
https://github.com/rust-lang/flate2-rs/issues/205
6 - Flate2 - crates.io: Rust Package Registry
https://crates.io/crates/flate2
7 - Rust-lang/flate2-rs: DEFLATE, gzip, and zlib bindings for Rust
https://github.com/rust-lang/flate2-rs/tree/main
8 - Flate2 - Rust
https://docs.rs/flate2/1.0.26/flate2/
9 - Zstd — Rust compression library // Lib.rs
https://lib.rs/crates/zstd
10 - Flate2-rs: DEFLATE, Gzip, and Zlib Bindings for Rust
https://morioh.com/p/89c98a488a40
11 - GzEncoder in flate2::write - Rust
https://cseweb.ucsd.edu/classes/sp22/cse223B-a/tribbler/flate2/write/struct.GzEncoder.html
12 - GzEncoder in flate2::bufread - Rust
https://docs.rs/flate2/latest/flate2/bufread/struct.GzEncoder.html
13 - flate2::write::GzEncoder - Rust
https://huonw.github.io/tz-search/flate2/write/struct.GzEncoder.html
14 - write::GzEncoder doesn't encode a huge buffer · Issue #271 · rust-lang/flate2-rs
https://github.com/rust-lang/flate2-rs/issues/271
15 - BufRead in std::io - Rust
https://doc.rust-lang.org/std/io/trait.BufRead.html
16 - Day 5: Supply Stacks · Issue #6 · simonw/advent-of-code-2022-in-rust
https://github.com/simonw/advent-of-code-2022-in-rust/issues/6
17 - Customizing Builds with Release Profiles - The Rust Programming Language
https://doc.rust-lang.org/book/ch14-01-release-profiles.html
18 - La diferencia entre los algoritmos de compresión Brotli y Gzip para acelerar tu sitio web
https://www.siteground.es/blog/diferencia-algoritmos-compresion-brotli-gzip-acelerar-web/
19 - https://rust-lang-nursery.github.io/rust-cookbook/