Avatar ·

Wie konvertiert man einen Byte-Vektor (Vec<u8>) in einen String (String) in Rust?

Hallo! Ich bin neu in Rust und schreibe einen kleinen Netzwerk-Client. Nachdem ich Daten von einem Socket empfangen habe, erhalte ich ein `Vec`, das UTF-8-kodierte Textdaten enthält. Ich muss diesen Vektor in einen normalen `String` konvertieren, um ihn auf dem Bildschirm auszugeben oder in einer Variable zu speichern.\n\nHier ist ein Beispielcode, den ich aktuell habe:\n\n```rust\nfn main() {\n let bytes: Vec = vec![72, 101, 108, 108, 111]; // "Hello" in UTF-8\n // Wie konvertiere ich bytes in String?\n // let text: String = ???;\n println!("{}", text);\n}\n```\n\nIch habe versucht, `bytes.to_string()` zu verwenden, aber der Compiler beschwert sich, dass das Trait `ToString` nicht für `Vec` implementiert ist. Ich habe auch Erwähnungen von `String::from_utf8()` gesehen, bin mir aber nicht sicher, wie ich Fehler richtig behandeln soll, falls die Bytes ungültig sind.