Cómo convertir entre String, &str, Vec<u8> y &[u8] en Rust
¡Hola a todos! Recientemente empecé a aprender Rust y constantemente me confundo con las conversiones entre strings y arrays de bytes. El problema surge porque en Rust hay diferentes tipos para strings: String, &str, y para bytes: Vec<u8> y &[u8].
Por ejemplo, escribo un programa simple que lee un archivo, procesa strings y muestra el resultado. Pero constantemente obtengo errores de compilación porque no puedo entender cómo convertir correctamente un tipo en otro.
use std::fs;
fn main() {
let data: Vec<u8> = fs::read("example.txt").unwrap();
// ¿Cómo convertir Vec<u8> a String?
let text: String = ???;
// Luego necesito pasar parte del string a una función que acepta &str
process_part(&text);
// Y luego necesito convertir el resultado nuevamente a Vec<u8> para escribir en un archivo
let output: Vec<u8> = ???;
fs::write("output.txt", output).unwrap();
No answers yet.
Inicia sesión para dejar una respuesta
Blogs
Generics en Java: para qué sirven y cómo usarlos
Principios SOLID en Rust: teoría y práctica (nivel avanzado)
Go + IA: Cómo las redes neuronales aceleran la generación de código en proyectos
Hablando todos los idiomas: internacionalización de aplicaciones Java