#marshal #ruby #deserialize #serialization

thurgood

支持 Ruby 的 Marshal 格式的完整(反)序列化

3 个不稳定版本

0.2.1 2021 年 11 月 20 日
0.2.0 2021 年 11 月 17 日
0.1.0 2021 年 9 月 7 日

#1383 in 编码


用于 street-cred

MIT/Apache

87KB
2K SLoC

Thurgood   最新版本

Thurgood 是一个 Rust 库,它实现了 Ruby 的 Marshal 格式的(反)序列化。

Thurgood 的主要用例是加载一些数据,操作其部分,然后序列化修改后的数据。这包括游戏存档、存储的 Rails 数据或使用 Marshal.dump 存储的任何其他内容。因此,Thurgood 优先考虑以尽可能少的信息丢失来反序列化和重新序列化 Marshal 流。在许多情况下,Thurgood 可以反序列化和重新序列化流,并产生相同的输出,字节对字节(有关异常的文档请参阅)。

Thurgood 还提供了一个方便的方法将 RbAny 转换为 serde_json::Value,这使得探索或可视化不熟悉的数据变得更加容易。不幸的是,这种转换是单向的,并且可能会失败。有关更多信息,请参阅文档。

状态

Thurgood 目前处于 alpha 版本。它已成功测试了一些用例,但需要更广泛的单元测试套件。此外,thurgood::rcthurgood::arc 的分离以及内部引用计数的使用可能会发生变化。

依赖关系

~1.8–2.6MB
~52K SLoC