Avatar ·

¿Cómo convertir un vector de bytes (Vec<u8>) a un String en Rust?

¡Hola! Soy nuevo en Rust y estoy escribiendo un pequeño cliente de red. Después de recibir datos de un socket, obtengo un `Vec` que contiene datos de texto codificados en UTF-8. Necesito convertir este vector en un String normal para mostrarlo en pantalla o guardarlo en una variable. Aquí hay un ejemplo del código que tengo actualmente: ```rust fn main() { let bytes: Vec = vec![72, 101, 108, 108, 111]; // "Hello" en UTF-8 // ¿Cómo convertir bytes a String? // let text: String = ???; println!("{}", text); } ``` He intentado usar `bytes.to_string()`, pero el compilador se queja de que el trait `ToString` no está implementado para `Vec`. También he visto menciones de `String::from_utf8()`, pero no estoy seguro de cómo manejar correctamente los errores si los bytes no son UTF-8 válido. Por favor, indíquenme cómo realizar esta conversión de manera correcta y segura. ¿Qué hacer si los datos pueden no ser válidos? ¿Hay alguna diferencia entre convertir `Vec` y un slice `&[u8]`?