¿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]`?