Rust中序列化到二进制的当前状态是什么?
我有一些大的(1-10MB)数据结构要通过网络发送,并且不想将它们编码为JSON或hex(我找到的两个串行器)。
我找到了#[repr(packed)]
。这是我应该使用的,还是有更便携的东西?
答案 0 :(得分:6)
#[repr(packed)]
只会使您的数据变小。它不提供任何格式保证或序列化帮助。
你在这里有一些选择(根据我的观点从最好到最差的解决方案排序):
transmute
将结构转换为[u8]
并发送
transmute
回来时,你会得到缓冲区溢出和东西