Wie konvertiert man String, &str, Vec<u8> und &[u8] ineinander in Rust?
Hallo zusammen! Ich habe vor kurzem angefangen, Rust zu lernen, und bin ständig verwirrt über die Konvertierungen zwischen Strings und Byte-Arrays. Das Problem entsteht, weil es in Rust verschiedene Typen für Strings gibt: String, &str, und für Bytes — Vec<u8> und &[u8].
Zum Beispiel schreibe ich ein einfaches Programm, das eine Datei liest, Strings verarbeitet und das Ergebnis ausgibt. Aber ich bekomme ständig Compiler-Fehler, weil ich nicht verstehe, wie man einen Typ korrekt in einen anderen konvertiert.
\n\nuse std::fs;\n\nfn main() {\n let data: Vec<u8> = fs::read("example.txt").unwrap();\n // Wie konvertiert man Vec<u8> in String?\n let text: String = ???;\n \n // Danach muss ich einen Teil des Strings an eine Funktion übergeben, die &