Struct huff_tree_tap::HuffmanData
source · pub struct HuffmanData {
pub encoded_data: Vec<u8>,
pub encoding_map: HashMap<u8, String>,
pub stats: EncodingStats,
}
Expand description
Huffman encoded data
Fields§
§encoded_data: Vec<u8>
The encoded data as a Vec<u8>
encoding_map: HashMap<u8, String>
Encoding map stored as a HashMap<u8,String>
required for decoding the data
stats: EncodingStats
Implementations§
source§impl HuffmanData
impl HuffmanData
sourcepub fn new(data: &Vec<u8>) -> Result<HuffmanData, &'static str>
pub fn new(data: &Vec<u8>) -> Result<HuffmanData, &'static str>
Huffman encodes a Vec<u8>
returning a HuffmanData
struct
Arguments
data
- A reference toVec<u8>
containing the data you want to encode
Examples
extern crate huff_tree_tap;
use huff_tree_tap::*;
use std::collections::HashMap;
let data: Vec<u8> = "this is a test string!".to_string().into_bytes();
let huffman_data: HuffmanData = HuffmanData::new(&data).unwrap();
let decoded_data: Vec<u8> = huffman_data.decode().unwrap();
assert_eq!(decoded_data,data);
sourcepub fn decode(self) -> Result<Vec<u8>, &'static str>
pub fn decode(self) -> Result<Vec<u8>, &'static str>
Huffman decodes a HuffmanData
struct and returns a decoded Vec<u8>
Arguments
huffman_encoded_data
- A reference toHuffmanData
containing the encoded data and encoding map
Examples
extern crate huff_tree_tap;
use huff_tree_tap::*;
use std::collections::HashMap;
let data: Vec<u8> = "this is a test string!".to_string().into_bytes();
let huffman_data: HuffmanData = HuffmanData::new(&data).unwrap();
let decoded_data: Vec<u8> = huffman_data.decode().unwrap();
assert_eq!(decoded_data,data);
Trait Implementations§
source§impl Debug for HuffmanData
impl Debug for HuffmanData
source§impl<'de> Deserialize<'de> for HuffmanData
impl<'de> Deserialize<'de> for HuffmanData
source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where __D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more