# explode
[](https://travis-ci.com/github/agrif/explode)
[](https://crates.io/crates/explode)
[](https://docs.rs/explode)
A decompression implementation for the *implode* algorithm from the
PKWARE Data Compression Library.
This implementation is based on `blast.c` by Mark Adler,
[distributed with zlib][blast].
[blast]: https://github.com/madler/zlib/tree/master/contrib/blast
## Examples
To decompress a block of bytes in memory, use `explode`.
```rust
let bytes = vec![0x00, 0x04, 0x82, 0x24, 0x25, 0x8f, 0x80, 0x7f];
let result = explode::explode(&bytes)?;
assert_eq!(result, "AIAIAIAIAIAIA".as_bytes());
```
To decompress a `File` or other type that implements `Read`, use
`ExplodeReader`.
```rust
use std::io::Read;
let mut reader = explode::ExplodeReader::new(some_file);
let mut decompressed = vec![];
reader.read_to_end(&mut decompressed)?;
// or other functions from Read
```
For more complicated uses that do not fit into these categories, use
`Explode`.
## License
Licensed under the [MIT license](LICENSE). Unless stated otherwise,
any contributions to this work will also be licensed this way, with no
additional terms or conditions.