pub fn from_bytes<'de, T>(b: &'de [u8]) -> Result<T, Error>where
T: FixedWidth + Deserialize<'de>,Expand description
Deserializes a &[u8] into the given type that implements FixedWidth and Deserialize.
ยงExample
use serde_derive::Deserialize;
use serde;
use fixed_width::{FieldSet, FixedWidth};
#[derive(Deserialize)]
struct Record {
pub name: String,
pub room: usize,
}
impl FixedWidth for Record {
fn fields() -> FieldSet {
FieldSet::Seq(vec![
FieldSet::new_field(0..4),
FieldSet::new_field(4..8),
])
}
}
let b = b"Carl1234";
let record: Record = fixed_width::from_bytes(b).unwrap();
assert_eq!(record.name, "Carl");
assert_eq!(record.room, 1234);