7个版本

0.1.6 2020年8月23日
0.1.5 2020年8月20日

#651 in 压缩


用于 devpng

MIT 许可证

40KB
937

DevKER

devker Documentation License: MIT

示例

  • 易于使用。
use devker::prelude::{deflate, inflate, BlockType, Cache};

let mut cache = Cache::new();
let v = String::from("Hello world, this is a wonderful world !");
let v_in = v.into_bytes();

// Encode.
let encoded = deflate(&v_in, BlockType::Fixed, &mut cache);
// Decode.
let decoded = inflate(&encoded, &mut cache).unwrap();
assert_eq!(v_in, decoded);
  • 可重用缓存。
use devker::prelude::{deflate, inflate, BlockType, Cache};

let mut cache = Cache::new();

// First try.

let v = String::from("Hello world, this is a wonderful world !");
let v_in = v.into_bytes();

let encoded = deflate(&v_in, BlockType::Fixed, &mut cache);
let decoded = inflate(&encoded, &mut cache).unwrap();
assert_eq!(v_in, decoded);

// Another try.

let v = String::from("The cache can be reused !");
let v_in = v.into_bytes();

let encoded = deflate(&v_in, BlockType::Fixed, &mut cache);
let decoded = inflate(&encoded, &mut cache).unwrap();
assert_eq!(v_in, decoded);

支持

  • Deflate/Inflate(仅支持deflate的固定模式)
  • Zlib(不支持字典)

注意

目前,此crate受libflate的启发。

文档

参见RustDoc文档

安装

将以下行添加到您的Cargo.toml

[dependencies]
devker = "0"

目标

将来,此crate将汇集我在项目中使用的多数算法。

目标是性能和无需依赖,以便完全控制源代码。

参考

无运行时依赖