Macro b64_encode

Source
macro_rules! b64_encode {
    ($data:expr) => { ... };
    ($data:expr => $string:expr) => { ... };
    (STANDARD: $($tt:tt)+) => { ... };
    (STANDARD_NO_PAD: $($tt:tt)+) => { ... };
    (URL_SAFE: $($tt:tt)+) => { ... };
    (URL_SAFE_NO_PAD: $($tt:tt)+) => { ... };
    ($padding:path, $data:expr) => { ... };
    ($padding:path, $data:expr => STRING: $string:expr) => { ... };
    ($padding:path, $data:expr => BYTES) => { ... };
    ($padding:path, $data:expr => BYTES: $bytes_buf:expr) => { ... };
}
Expand description

Encode given buffer into base64 string.

ยงExample:

use macro_toolset::{b64_encode, base64::engine::general_purpose};

// Default padding: STANDARD, returns `String`.
b64_encode!(b"hello world");
// To given `String`.
let mut string = String::new();
b64_encode!(b"hello world" => &mut string);

// Returns `String`.
// Available padding: STANDARD / STANDARD_NO_PAD / URL_SAFE / URL_SAFE_NO_PAD
// No need to import!
b64_encode!(URL_SAFE_NO_PAD: b"hello world");
// To given `String`.
let mut string = String::new();
b64_encode!(URL_SAFE_NO_PAD: b"hello world" => STRING: &mut string);

// Returns `bytes::BytesMut`.
b64_encode!(URL_SAFE_NO_PAD: b"hello world" => BYTES);
// To given `bytes::BytesMut`.
let mut string = bytes::BytesMut::new();
b64_encode!(URL_SAFE_NO_PAD: b"hello world" => BYTES: &mut string);