arrays - 将结构转换为字节数组并返回 rust
问题描述
我正在用 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();
}
推荐阅读
- javascript - 使用 Google Apps 脚本删除幻灯片表格底部的空合并行
- php - 如何从 WP_term 对象中回显一个值?
- javascript - 使边界框在画布外可见
- typescript - 在打字稿回复机器人中获得相同的错误消息
- flutter - 无法启动服务 rekab.app.background_locator.IsolateHolderService
- c++ - 我的编译器是否将我的枚举转换为位域?
- c - LeakSanitizer:检测到内存泄漏
- r - 在 R 中创建一个带有堆叠条的圆形系统发育
- python - Qt.FramelessWindowHint 不适用于 QInputDialog
- powershell - Powershell Get-TransportRule 读取传输规则属性的完整数据