<分区>
我正在用 Rust 编写一个程序,该程序涉及通过 TCP 连接发送数据。我想不出将结构转换为字节数组并返回的方法。其他解决方案只能设法将其转换为 u8
,但由于我是 Rust 的新手(只有 3 个月),我无法弄清楚。希望大家给个方法。
<分区>
我正在用 Rust 编写一个程序,该程序涉及通过 TCP 连接发送数据。我想不出将结构转换为字节数组并返回的方法。其他解决方案只能设法将其转换为 u8
,但由于我是 Rust 的新手(只有 3 个月),我无法弄清楚。希望大家给个方法。
最佳答案
您可以使用 bincode
将结构转换为字节,反之亦然。它建立在 serde
之上框架:
use serde::{Serialize, Deserialize};
#[derive(Serialize, Deserialize)]
struct Entity {
x: f32,
y: f32,
}
fn main() {
let entity = Entity { x: 1.5, y: 1.5 };
let encoded: Vec<u8> = bincode::serialize(&entity).unwrap();
let decoded: Entity = bincode::deserialize(&encoded[..]).unwrap();
}
关于arrays - 将结构转换为字节数组并返回 Rust,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66922989/