您的位置:首页 > 其它

rust 用指针类型转换的方法将u8数组(或slice)转换成u32

2015-06-10 21:06 1016 查看
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就可以了
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: