我正在重建u128通过互联网传递的数字。我的想法是u8在连接的一端将数字分解为s,发送这些并u128在另一端重建。
我尝试u8通过将其指针转换*const u8为to来重建缓冲区*const u128:
fn main() {
let mut b = [0u8; 16];
b[14] = 1;
let addr = &b as *const u8 as *const u128;
unsafe {
println!("{:?}", &b as *const u8);
println!("{:?}\n", b);
println!("{:?}", addr);
println!("n = {}", *addr);
}
}
Run Code Online (Sandbox Code Playgroud)
令我惊讶的是,生成的输出如下所示:
0x7efe2088
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0]
0x7efe2088
n = 5192296858534827628530496329220096
Run Code Online (Sandbox Code Playgroud)
我希望这个数组包含
00000000 00000000 …Run Code Online (Sandbox Code Playgroud) rust ×1