是否可以将某些结构保存为字节序列



我使用的库只允许存储[u8]的数组,并且我有一个来自外部机箱的结构,实现Serialize不提供其字段(即它们是私有的(。问题:是否可以将此结构的实例转换为[u8]的数组,而不会导致未定义的行为?有人指出,简单的transmute可能会导致未定义的行为,因为结构可能包含填充字段形式的未初始化数据。

问题:是否可以将此结构的实例转换为[u8]的数组,而不会导致未定义的行为?

您总是可以手动序列化它(以您选择的任何格式(,尤其是如果所有子字段都是可序列化的。

如果你正在序列化一个指针,并期望它以另一种方式正常运行,这是非常危险和非常不安全的,但我想你的反序列化会让这一点变得非常清楚。

最新更新