Avatar ·

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].

\n\n

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\n
use 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 &