Ответ 1
(&str).as_bytes
дает вам представление строки в виде &[u8]
байтового фрагмента (который можно вызвать на String
, так как от derefs до str
, а там String.into_bytes
будет потреблять String
, чтобы дать вам Vec<u8>
.
Используйте версию .as_bytes
, если вам не требуется владение байтами.
fn main() {
let string = "foo";
println!("{:?}", string.as_bytes()); // prints [102, 111, 111]
}
BTW, соглашения об именах для функций преобразования полезны в таких ситуациях, поскольку они позволяют вам узнать, какое имя вы можете искать.