- Rust 100%
| .github/workflows | Upgrade CI deps and edition ( #26 ) | |
| fuzz | Fix errors from fuzzer ( #1 ) | |
| src | Fix errors from fuzzer ( #1 ) | |
| .gitignore | Initial commit | |
| Cargo.toml | Bump to v0.2.6 | |
| LICENSE-APACHE | Add licensing and prepare for crates.io | |
| LICENSE-MIT | Add licensing and prepare for crates.io | |
| README.md | Add licensing and prepare for crates.io | |
lzxd
A Rust implementation of Microsoft's lzxd encoding, based in the description and code of the document itself. This crate currently only implements decompression.
uselzxd::{Lzxd,WindowSize};letmutlzxd=Lzxd::new(WindowSize::KB64);whileletSome(chunk)=get_compressed_chunk(){letdecompressed=lzxd.decompress_next(&chunk);write_data(decompressed.unwrap());}The project's motivation was to be able to read XNB files produced by XNA Game Studio, some of which are compressed under LZXD compression.
Huge thanks to LeonBlade for their xnbcli project which helped greatly to debug this implementation, and special mention to dorkbox's CabParser for further helping validate that this implementation is able to decompress real-world data correctly.
License
This library is licensed under either of
-
Apache License, Version 2.0 (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
-
MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
at your option.