JC
Size: a a a
JC
AV
A
[u8; 8]в
u64 перевести, самый быстрый способ как я понял это std::mem::transmute?
let mut b = [0u8; 8];
// … write to b
let new_a = unsafe { std::mem::transmute::<[u8; 8], u64>(b) };
RS
[u8; 8]в
u64 перевести, самый быстрый способ как я понял это std::mem::transmute?
let mut b = [0u8; 8];
// … write to b
let new_a = unsafe { std::mem::transmute::<[u8; 8], u64>(b) };
RS
const fn бтв/
A
V
u16::from_le_bytes(&slice[8..10])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)
}в🧇
u16::from_le_bytes(&slice[8..10])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() вроде должен сработать/
u16::from_le_bytes(&slice[8..10])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)
}в🧇
u512 конечно хдRS
u16::from_le_bytes(&slice[8..10])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)
}Э
u16::from_le_bytes(&slice[8..10])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)
}let s: &[u8] = … ;
assert!(s.len() >= N);
let arr: [u8; N] = unsafe { *(s.as_ptr() as *const [u8; N]) };
from_le_bytes(arr)
/
/
в🧇
Э
в🧇
TryInto?/
TryInto?