c语言很方便,直接指针转换就可以了,代码如下:
char data[] = {1,2,3,4};
int32 s = *(int32*)data;
对应的rust转换如下:
pub fn convert(pack_data: &[u8]){
let ptr :*const u8 = pack_data.as_ptr();
let ptr :*const u32 = ptr as *const u32;
let s = unsafe{ *ptr};
println!("{:?}", s);
}
关键的就是:先把slice的指针获取到,然后把*const u8指针转成*const u32,最后deref就可以了