我试图更深入地了解 rust 的工作原理。 我正在尝试进行一些序列化和反序列化以保存和加载具有泛型类型的结构。 我让它工作了,但我不明白 HRTB 以及他们为什么让代码工作。 最初我有这个 whihc 产生这个错误 我已经修复了 impl 块以采用更高等级的特征界限。 它工作得很好。 据我了解, ...
我试图更深入地了解 rust 的工作原理。 我正在尝试进行一些序列化和反序列化以保存和加载具有泛型类型的结构。 我让它工作了,但我不明白 HRTB 以及他们为什么让代码工作。 最初我有这个 whihc 产生这个错误 我已经修复了 impl 块以采用更高等级的特征界限。 它工作得很好。 据我了解, ...
我有一个小代码片段,我试图将结构写入文件然后读取它。 我看过其他类似的帖子,其中提问者忘记将他们试图读入的缓冲区初始化为零。 我已确保不这样做,但在使用read_exact时我仍然收到“无法填充整个缓冲区”错误,即使我的缓冲区大小和我尝试读取的文件大小相同。 这是代码: ...
我想编写一个具有相应的(反)序列化和二进制代码的结构。 作为 MRE,这是结构: (反)序列化在实现块中看起来像这样: 运行一个简单的测试,代码 panic 并抛出一个错误。 错误内容如下: 在网上找不到有关错误的信息,但是我不太确定程序失败的原因。 在opt_id中的ip_struct上删除或设 ...
当我尝试将二进制数据反序列化为错误类型时,为什么我不会从 bincode 中收到错误消息?use bincode; // 1.3.1 use serde::{Deserialize, Serialize}; // { version = "1.0", features = ["derive"] } ...
这段代码完全按照我的意愿序列化了一个 32 字节的数组: 它是如何工作的? 根据https://serde.rs/impl-serializer.html有一个serialize_bytes()函数,但是它的 bincode 版本在数据前面加上了一个长度。 代码(以上)调用序列化中的什么函数,将 ...
我目前正在使用serde-hex 。 失败: 因为它已将值扩展为二进制码的十六进制字符串。 我有许多需要用 serde_json 和 bincode 序列化的结构。 serde_hex正是我需要的 JSON 序列化。 当使用 bincode serde-hex 时,仍将 arrays 转换为十六 ...
我使用 serde 和 bincode 使用自定义加载/保存方法定义了以下结构: 现在奇怪的是,下面的测试告诉我,如果 vec(直方图的成员)的长度很小,保存/加载可以正常工作,但它失败了(我没有收到任何错误,只是生成的直方图实例是错误)具有较大的值,例如 10000000。确切地说,我从那里得到的 ...
我对 Rust 还很陌生,我在我的项目中使用了 bincode。 枚举变体的编码是我在与现有服务器交互时一直试图解决的问题。 旧项目是用 C 编写的,并且定义了“fshort-enums”的编译器选项。 在旧的 C 项目中,我会定义一个类似的枚举: enum test_enum { Sta ...
我有一个像这样的枚举: 然后我尝试使用bincode crate 执行以下操作: 但是,这会因以下消息而恐慌: thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: Io(Custom { kind: Une ...
我正在使用 crate sled并尝试使用bincode进行简单的序列化和反序列化练习,只是为了掌握使用情况。 虽然我可以让插入工作,但尝试获得一系列结果似乎更加困难。 在这里,我尝试输入两条记录:值为“Alice”的 42 键和值为“Bob”的 69 键,然后检索并打印它们。我很难协调向量的反序 ...