将 &i64 转换为 &[u8; 的惯用方法是什么?8]?

L11*_*117 2 slice rust

我正在用blake2板条箱做一些散列。它只接受字节片&[u8]。大部分数据(字符串)可以毫无问题地转换为字节片,但时间戳(i64)不能。是否有跨平台、惯用的方式来进行这种转换?i64 的字节顺序是通过to_le在对其进行任何操作之前调用来确保的。

log*_*yth 5

i64类型有一个to_le_bytes返回的方法[u8; 8],并且由于i64是一个复制类型,所以很容易调用它,然后传递一个对返回数组的引用。它不会是对与原始字节相同的字节的引用,i64因为它返回一个拥有的数组而不是引用,但在这种情况下这无关紧要。