我正在用 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 ×1