use base64::{DecodeError, Engine, engine::general_purpose::STANDARD_NO_PAD};
#[inline]
pub fn encode(data: impl AsRef<[u8]>) -> String {
STANDARD_NO_PAD.encode(data)
}
#[inline]
pub fn decode(data: impl AsRef<[u8]>) -> Result<Vec<u8>, DecodeError> {
STANDARD_NO_PAD.decode(data)
}
pub fn encode_data_url(data: impl AsRef<[u8]>) -> String {
fn inner(bytes: &[u8]) -> String {
let mut data = String::with_capacity(bytes.len() * 3 / 4);
base64::engine::general_purpose::STANDARD.encode_string(bytes, &mut data);
format!("data:text/plain;base64,{data}")
}
inner(data.as_ref())
}