Avatar ·

Comment convertir un vecteur d'octets (Vec<u8>) en chaîne de caractères en Rust ?

Bonjour à tous ! J'ai commencé à apprendre Rust et j'ai rencontré un problème en travaillant avec des données binaires. J'ai un vecteur d'octets `Vec` que j'ai obtenu, par exemple, en lisant un fichier ou à partir d'une requête réseau. Je dois convertir ce vecteur en une chaîne de caractères `String` normale pour l'afficher à l'écran ou la traiter comme du texte. Le problème est que je ne peux pas simplement écrire `my_vec.to_string()` ou utiliser `String::from()`. Le compilateur génère des erreurs. Voici un exemple de code qui ne fonctionne pas : ```rust fn main() { let bytes: Vec = vec![72, 101, 108, 108, 111]; // "Hello" en ASCII let text: String = bytes; // Erreur : expected String, found Vec println!("{}", text); } ``` Je comprends que les octets ne sont que des nombres et qu'une chaîne est une séquence de caractères en encodage UTF-8. Mais comment effectuer correctement cette conversion ? Dois-je vérifier que tous les octets sont des caractères UTF-8 valides ? Ou existe-t-il un moyen simple si je suis sûr que les données sont du texte ?