меня сейчас вот так это делается, может можно как-то проще?
pub fn slice_le_to_u16(s: &[u8]) -> u16 {
if s.len() != 2 {
panic!("slice length must be equal 2");
}
(s[0] as u16) | ((s[1] as u16) << 8)
}
try_into().unwrap() вроде должен сработать
read_exact
https://github.com/droundy/arrayref ? %)
let s: &[u8] = … ; assert!(s.len() >= N); let arr: [u8; N] = unsafe { *(s.as_ptr() as *const [u8; N]) }; from_le_bytes(arr)
Обсуждают сегодня