https://github.com/elamani-drawing/lzrs
LZRS est une bibliothèque Rust qui propose des implémentations d'algorithmes de compression et de décompression utilisant la technique LZ. Ces algorithmes, tels que LZ77, sont conçus pour réduire la taille des données en éliminant les redondances, ce qui peut être utile dans divers contextes.
https://github.com/elamani-drawing/lzrs
compression-algorithm huffman-compression-algorithm lz77 rust
Last synced: 30 days ago
JSON representation
LZRS est une bibliothèque Rust qui propose des implémentations d'algorithmes de compression et de décompression utilisant la technique LZ. Ces algorithmes, tels que LZ77, sont conçus pour réduire la taille des données en éliminant les redondances, ce qui peut être utile dans divers contextes.
- Host: GitHub
- URL: https://github.com/elamani-drawing/lzrs
- Owner: elamani-drawing
- License: mit
- Created: 2023-12-11T00:22:53.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2024-01-22T23:51:55.000Z (over 2 years ago)
- Last Synced: 2025-11-21T10:23:45.601Z (8 months ago)
- Topics: compression-algorithm, huffman-compression-algorithm, lz77, rust
- Language: Rust
- Homepage:
- Size: 5.86 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# LZRS
LZRS est une bibliothèque Rust qui propose des implémentations d'algorithmes de compression et de décompression utilisant la technique LZ. Ces algorithmes, tels que LZ77, sont conçus pour réduire la taille des données en éliminant les redondances, ce qui peut être utile dans divers contextes, y compris la gestion de fichiers et la transmission de données sur des réseaux.
## Fonctionnalités
- [x] Compression de données en utilisant l'algorithme LZ77.
- [x] Décompression des données compressées via LZ77.
- [ ] Compression d'un fichier en utilisant l'algorithme LZ77.
- [ ] Décompression d'un fichier en utilisant l'algorithme LZ77.
## Installation
Pour utiliser lzrs dans votre projet, ajoutez la dépendance suivante à votre fichier Cargo.toml : (pas encore publié)
```toml
[dependencies]
lzrs = "0.1.0"
```
## Example
```rust
use lzrs::{LZ, LZ77};
fn main() {
// Crée une nouvelle instance de LZ77.
let lz77 = LZ77::new();
// Données brutes à compresser.
let input_data = b"hello world";
// Compresse les données brutes à l'aide de la structure LZ77.
let compressed_data = lz77.compress(input_data);
// Vérifie que les données décompressées correspondent aux attentes.
let decompressed_data = lz77.decompress(&compressed_data);
assert_eq!(decompressed_data, input_data);
}
```
Pour plus d'exemples d'utilisation, consultez la documentation, les tests et [les fichiers d'exemple](/exemples/).
## Contributions
Les contributions sont les bienvenues ! Si vous souhaitez améliorer ou ajouter des fonctionnalités à LZRS, veuillez ouvrir une pull request sur GitHub.
## License
Ce projet est sous [``licence MIT``](LICENSE). Veuillez consulter le fichier [``LICENSE``](LICENSE) pour plus d'informations.