5 个版本
0.1.4 | 2022 年 10 月 25 日 |
---|---|
0.1.3 | 2022 年 10 月 24 日 |
0.1.2 | 2022 年 10 月 22 日 |
0.1.1 | 2022 年 10 月 22 日 |
0.1.0 | 2022 年 10 月 22 日 |
在 游戏 中排名第 234
47KB
1.5K SLoC
snes_compress
老游戏的压缩库。
支持的格式
- LZ1
- LZ19
- LZ2
- LZ3
- LZ5
- RLE1
- RLE2
用法
Rust 库
添加依赖 https://crates.io/crates/snes_compress
use snes_compress::{CompressionType, errors::{DecompressionError, CompressionError}};
fn decompress_data(compressed_data: &[u8]) -> Result<Vec<u8>, DecompressionError> {
snes_compress::decompress(compressed_data, CompressionType::LZ5)
}
fn compress_data(decompressed_data: &[u8]) -> Result<Vec<u8>, CompressionError> {
snes_compress::compress(decompressed_data, CompressionType::LZ5)
}
共享库
待办事项:添加包装项目以编译为 so (Linux)、dll (Windows) 和 dylib (Mac)
二进制
cargoinstall snes_compress
Usage:
snes_compress [option] [format] "<input_file>" "<output_file>"
Options:
-d: Decompress
-c: Compress
Formats:
-LZ5: LZ5
lib.rs
:
snes_compress
提供了解压缩和重新压缩 snes 数据的函数。
支持的格式
- LZ1
- LZ19
- LZ2
- LZ3
- LZ5
- RLE1
- RLE2
示例
use snes_compress::{CompressionType, errors::{DecompressionError, CompressionError}};
fn decompress_data(compressed_data: &[u8]) -> Result<Vec<u8>, DecompressionError> {
snes_compress::decompress(compressed_data, CompressionType::LZ5)
}
fn compress_data(decompressed_data: &[u8]) -> Result<Vec<u8>, CompressionError> {
snes_compress::compress(decompressed_data, CompressionType::LZ5)
}
依赖项
~285–740KB
~17K SLoC