Function base64::decode_engine_vec

source ·
pub fn decode_engine_vec<E: Engine, T: AsRef<[u8]>>(
    input: T,
    buffer: &mut Vec<u8>,
    engine: &E
) -> Result<(), DecodeError>
Expand description

Decode from string reference as octets. Writes into the supplied Vec, which may allocate if its internal buffer isn’t big enough. Returns a Result containing an empty tuple, aka ().

Example

const URL_SAFE_ENGINE: base64::engine::fast_portable::FastPortable =
    base64::engine::fast_portable::FastPortable::from(
        &base64::alphabet::URL_SAFE,
        base64::engine::fast_portable::PAD);

fn main() {
    let mut buffer = Vec::<u8>::new();
    // with the default engine
    base64::decode_engine_vec(
        "aGVsbG8gd29ybGR+Cg==",
        &mut buffer,
        &base64::engine::DEFAULT_ENGINE
    ).unwrap();
    println!("{:?}", buffer);

    buffer.clear();

    // with a custom engine
    base64::decode_engine_vec(
        "aGVsbG8gaW50ZXJuZXR-Cg==",
        &mut buffer,
        &URL_SAFE_ENGINE
    ).unwrap();
    println!("{:?}", buffer);
}