假设我有一个静态字符串"foo"和一个足够长的可变数组let mut buf = [0u8; 16]。如何最有效地更新buf以包含字符串的字节?我可以使用.bytes()将字符串作为字节进行迭代,并逐个更新缓冲区中的位置,但感觉肯定有更简单的方法。
"foo"
let mut buf = [0u8; 16]
buf
.bytes()
cqoc49vn1#
使用copy_from_slice。
copy_from_slice
buf[..string.len()].copy_from_slice(string.as_bytes());
另一个可能有用的东西是,你可以直接用b创建一个字符串类型的字节切片。
b
const SLICE: &[u8] = b"hello";
也可以通过取消引用来创建数组。
const ARR: [u8; 5] = *b"hello";
1条答案
按热度按时间cqoc49vn1#
使用
copy_from_slice
。另一个可能有用的东西是,你可以直接用
b
创建一个字符串类型的字节切片。也可以通过取消引用来创建数组。