Function bcs::from_bytes [−][src]
pub fn from_bytes<'a, T>(bytes: &'a [u8]) -> Result<T> where
T: Deserialize<'a>,
Expand description
Deserializes a &[u8]
into a type.
This function will attempt to interpret bytes
as the BCS serialized form of T
and
deserialize T
from bytes
.
Examples
use bcs::from_bytes; use serde::Deserialize; #[derive(Deserialize)] struct Ip([u8; 4]); #[derive(Deserialize)] struct Port(u16); #[derive(Deserialize)] struct SocketAddr { ip: Ip, port: Port, } let bytes = vec![0x7f, 0x00, 0x00, 0x01, 0x41, 0x1f]; let socket_addr: SocketAddr = from_bytes(&bytes).unwrap(); assert_eq!(socket_addr.ip.0, [127, 0, 0, 1]); assert_eq!(socket_addr.port.0, 8001);