3个不稳定版本
0.2.1 | 2022年10月29日 |
---|---|
0.2.0 | 2022年10月20日 |
0.1.0 | 2021年1月23日 |
#129 在 压缩 中
2,693 每月下载量
在 6 个 crate 中使用 (5 个直接使用)
29KB
479 行
lz-str-rs
lz-string的Rust端口。
安装
将以下内容添加到您的 Cargo.toml
文件中
[dependencies]
lz-str = "0.1.0"
入门指南
// The demonstrated functions correspond with `LZString.compress` and `LZString.decompress` from the JS version.
fn main() {
let data = "The quick brown fox jumps over the lazy dog";
// Compress the data. This cannot fail.
let compressed_data = lz_str::compress(data);
// Decompress the data.
// This may return `Option::None` if it fails.
// Make sure to do error-checking in a real application to prevent crashes!
let decompressed_data =
lz_str::decompress(compressed_data).expect("`compressed_data` is invalid");
// The decompressed_data should be the same as data, except encoded as UTF16.
// We undo that here.
// In a real application,
// you will want to do error checking to prevent users from causing crashes with invalid data.
let decompressed_data =
String::from_utf16(&decompressed_data).expect("`decompressed_data` is not valid UTF16");
assert!(data == decompressed_data);
}
查看 示例 目录以获取更多示例。
功能
rustc-hash
: 此功能将一些内部映射的哈希器替换为 rustc-hash,以提升性能,但不再使用具有DOS抵抗性的哈希器。
测试
cargo test
基准测试
cargo bench
绑定
作者
adumbidiot (Nathaniel Daniel)
许可
根据您的选择,许可为以下之一
- Apache License,版本2.0 (LICENSE-APACHE 或 https://apache.ac.cn/licenses/LICENSE-2.0)
- MIT许可 (LICENSE-MIT 或 http://opensource.org/licenses/MIT)
。
贡献
除非您明确说明,否则您有意提交以包含在作品中的任何贡献,根据Apache-2.0许可定义,应如上所述双重许可,无需任何附加条款或条件。