]>
git.proxmox.com Git - rustc.git/blob - vendor/flate2/examples/zlibdecoder-write.rs
3 use flate2
::write
::ZlibDecoder
;
4 use flate2
::write
::ZlibEncoder
;
5 use flate2
::Compression
;
7 use std
::io
::prelude
::*;
9 // Compress a sample string and print it after transformation.
11 let mut e
= ZlibEncoder
::new(Vec
::new(), Compression
::default());
12 e
.write_all(b
"Hello World").unwrap();
13 let bytes
= e
.finish().unwrap();
14 println
!("{}", decode_reader(bytes
).unwrap());
17 // Uncompresses a Zlib Encoded vector of bytes and returns a string or error
18 // Here Vec<u8> implements Write
19 fn decode_reader(bytes
: Vec
<u8>) -> io
::Result
<String
> {
20 let mut writer
= Vec
::new();
21 let mut z
= ZlibDecoder
::new(writer
);
22 z
.write_all(&bytes
[..])?
;
24 let return_string
= String
::from_utf8(writer
).expect("String parsing error");