rust - 是否可以将某些结构保存为字节序列?
问题描述
我正在使用一个只允许存储数组的库[u8]
,并且我有一个来自外部板条箱的结构,该结构不实现也不提供其Serialize
字段(即它们是私有的)。问题:是否可以将此结构的实例转换为数组而不会导致未定义的行为?有人指出,简单可能会导致未定义的行为,因为结构可能包含填充字段形式的未初始化数据。[u8]
transmute
解决方案
问题:是否可以将此结构的实例转换为 [u8] 的数组而不会导致未定义的行为?
您始终可以手动将其序列化(以您选择的任何格式),特别是如果所有子字段都是可序列化的。
如果您正在序列化一个指针并期望它以相反的方式出现,这是非常危险且非常不安全的,但是我猜您的反序列化会使这一点变得相当清楚。
推荐阅读
- javascript - 即使该路径上有数据,Firebase 事务也会在路径上读取 null
- theory - 可变性与为变量分配新值有何不同?
- css - 如何防止这个子元素继承hover css?
- python - 更改networkX中边缘的颜色
- python - 如何使用具有均值和标准的特定转换来转换数据列
- apache-kafka - Kafka 分区中的时间戳序列
- python - 列表操作中的 Python 列表
- javascript - 如何更改 vscode 的活动文本编辑器?
- python - 如何将 mark_geoshape 缩放到 Altair 中的特定区域?
- javascript - 使用 javascript 打印动态代码,该代码根据参数添加了一个方法