如何在 Rust 中互相转换 String、&str、Vec<u8> 和 &[u8]?
大家好!我最近开始学习 Rust,经常在字符串和字节数组之间的转换中感到困惑。问题在于 Rust 中有不同的字符串类型:String、&str,以及字节类型:Vec<u8> 和 &[u8]。
例如,我写了一个简单的程序来读取文件、处理字符串并输出结果。但我总是遇到编译错误,因为我不明白如何正确地将一种类型转换为另一种类型。
use std::fs;
fn main() {
let data: Vec<u8> = fs::read("example.txt").unwrap();
// 如何将 Vec<u8> 转换为 String?
let text: String = ???;
// 然后我需要将字符串的一部分传递给一个接受 &str 的函数
process_part(&text);
// 然后我需要将结果再次转换为 Vec<u8> 以便写入文件
let output: Vec<u8> = ???;
fs::write("output.txt", output);
}