1
3
Fork
You've already forked lzxd
1
  • Rust 100%
Find a file
2026年06月25日 17:26:11 +02:00
.github/workflows Upgrade CI deps and edition ( #26 ) 2023年12月22日 16:57:05 +01:00
fuzz Fix errors from fuzzer ( #1 ) 2026年06月25日 17:26:11 +02:00
src Fix errors from fuzzer ( #1 ) 2026年06月25日 17:26:11 +02:00
.gitignore Initial commit 2020年06月02日 15:01:55 +02:00
Cargo.toml Bump to v0.2.6 2024年12月17日 23:14:38 +01:00
LICENSE-APACHE Add licensing and prepare for crates.io 2020年07月13日 10:53:58 +02:00
LICENSE-MIT Add licensing and prepare for crates.io 2020年07月13日 10:53:58 +02:00
README.md Add licensing and prepare for crates.io 2020年07月13日 10:53:58 +02:00

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

at your option.