我有一个我不明白的问题:
fn cipher_with(key: &[u8], data: &[u8]) -> Vec<u8> {
let data_len = 16;
let mut data = data.to_vec();
data.resize(data_len, 2);
let mut output = Vec::<u8>::with_capacity(data_len);
unsafe { output.set_len(data_len) }
output
}
fn main() {
let key = "blabla".as_bytes();
let data = "lorem ipsum.".as_bytes();
println!("{:?}", cipher_with(&key, &data));
}
Run Code Online (Sandbox Code Playgroud)
这打印:
[108,111,114,101,109,32,105,112,115,117,109,46,0,0,0,0]
但它是如何完成的?我从未给过这个价值output.