序列化 serializable/serialized 个元素的向量
Serialize a vector of serializable/serialized elements
如果我们有一个可序列化元素的向量,如何序列化该向量?
特别是如果每个序列化后的元素都是一个字节数组(如[u8;56])如何处理?
let mut byte_stream = data
.iter()
.map(|x| x.to_bytes())
.collect::<Vec<_>>()
此代码段生成类型为 Vec<[u8; 56]>
的变量。
为了传输数据,我打算使用std::io::write
但是它需要一个字节片&[u8]
。
您可以通过 flatten()
创建一个 Vec
:
data.iter()
.map(|x| x.to_bytes())
.flatten()
.collect::<Vec<_>>()
但如果你想立即将它传递给一个作家,你不需要先收藏它。您可以循环遍历迭代器并多次写入。
如果我们有一个可序列化元素的向量,如何序列化该向量?
特别是如果每个序列化后的元素都是一个字节数组(如[u8;56])如何处理?
let mut byte_stream = data
.iter()
.map(|x| x.to_bytes())
.collect::<Vec<_>>()
此代码段生成类型为 Vec<[u8; 56]>
的变量。
为了传输数据,我打算使用std::io::write
但是它需要一个字节片&[u8]
。
您可以通过 flatten()
创建一个 Vec
:
data.iter()
.map(|x| x.to_bytes())
.flatten()
.collect::<Vec<_>>()
但如果你想立即将它传递给一个作家,你不需要先收藏它。您可以循环遍历迭代器并多次写入。