小编Axe*_*sen的帖子

如何将 [u64;N] 转换为 [u8;8*N]?

我正在用 Rust 编写一个压缩算法。

我有一个“转换表”,它将输入字节映射到输出(每个输出是一个u64代码,一个u8是代码的长度,不需要是8的倍数)。对于每个输入字节,我找到相应的输出并将代码位移到一个大的连续数组中u64。然后我想将这个 s 数组写入u64一个文件。

[u64; WRITE_CHUNK_SIZE]将 转换为 a 的最佳方法是什么[u8; 8 * WRITE_CHUNK_SIZE]

循环遍历[u64; WRITE_CHUNK_SIZE]、调用to_be_bytes()每个u64、将每个字节写入到[u8; 8*WRITE_CHUNK_SIZE]我能做的最好的事情吗?

我看到了align_to需要不安全的示例,这对于转换数据类型来说似乎太过分了。我还看到了输出一个Vec. 不过,我认为这只是把问题推到了路上,因为我仍然必须将其转换Vec<u8>[u8]写入文件。我错了吗?

rust

3
推荐指数
1
解决办法
2480
查看次数

标签 统计

rust ×1