use base64::{engine::general_purpose, Engine as _};
use std::error::Error;
use std::str;
fn base64_encode(input: &str) -> Result<String, Box<dyn Error>> {
Ok(general_purpose::STANDARD.encode(input))
}
fn base64_decode(encoded: &str) -> Result<String, Box<dyn Error>> {
let decoded_bytes = general_purpose::STANDARD.decode(encoded)?;
Ok(str::from_utf8(&decoded_bytes)?.to_string())
}
fn main() -> Result<(), Box<dyn Error>> {
let base64_encoded_str = base64_encode("rust programming")?;
println!("{}", base64_encoded_str);
let decoded_str = base64_decode(&base64_encoded_str)?;
println!("{}", decoded_str);
Ok(())
}
/*
run:
cnVzdCBwcm9ncmFtbWluZw==
rust programming
*/