Crates.io | lzma-rust |
lib.rs | lzma-rust |
version | 0.1.7 |
source | src |
created_at | 2023-01-31 09:32:09.490128 |
updated_at | 2024-07-17 13:36:11.093991 |
description | LZMA/LZMA2 codec ported from 'tukaani xz for java' |
homepage | https://github.com/dyz1990/sevenz-rust/tree/main/lzma-rust |
repository | https://github.com/dyz1990/sevenz-rust/tree/main/lzma-rust |
max_upload_size | |
id | 772551 |
size | 160,334 |
LZMA/LZMA2 codec ported from tukaani xz for java
use std::io::{Read, Write};
use lzma_rust::*;
let s = b"Hello, world!";
let mut out = Vec::new();
let mut options = LZMA2Options::with_preset(6);
options.dict_size = LZMA2Options::DICT_SIZE_DEFAULT;
let mut w = LZMAWriter::new_use_header(CountingWriter::new(&mut out), &options, None).unwrap();
w.write_all(s).unwrap();
w.write(&[]).unwrap();
let mut r = LZMAReader::new_mem_limit(&out[..], u32::MAX, None).unwrap();
let mut s2 = vec![0; s.len()];
r.read_exact(&mut s2).unwrap();
println!("{:?}", &out[..]);
assert_eq!(s, &s2[..]);
use std::io::{Read, Write};
use lzma_rust::*;
let s = b"Hello, world!";
let mut out = Vec::new();
let mut options = LZMA2Options::with_preset(6);
options.dict_size = LZMA2Options::DICT_SIZE_DEFAULT;
{
let mut w = LZMA2Writer::new(CountingWriter::new(&mut out), &options);
w.write_all(s).unwrap();
w.write(&[]).unwrap();
}
let mut r = LZMA2Reader::new(&out[..], options.dict_size, None);
let mut s2 = vec![0; s.len()];
r.read_exact(&mut s2).unwrap();
println!("{:?}", &out[..]);
assert_eq!(s, &s2[..]);