pem_rfc7468

Type Alias Base64Encoder

Source
pub type Base64Encoder<'o> = Encoder<'o, Base64>;
Expand description

Buffered Base64 encoder type.

Aliased Type§

struct Base64Encoder<'o> { /* private fields */ }

Implementations

Source§

impl<'o, E> Encoder<'o, E>
where E: Encoding,

Source

pub fn new(output: &'o mut [u8]) -> Result<Encoder<'o, E>, Error>

Create a new encoder which writes output to the given byte slice.

Output constructed using this method is not line-wrapped.

Source

pub fn new_wrapped( output: &'o mut [u8], width: usize, ending: LineEnding, ) -> Result<Encoder<'o, E>, Error>

Create a new encoder which writes line-wrapped output to the given byte slice.

Output will be wrapped at the specified interval, using the provided line ending. Use LineEnding::default() to use the conventional line ending for the target OS.

Minimum allowed line width is 4.

Source

pub fn encode(&mut self, input: &[u8]) -> Result<(), Error>

Encode the provided buffer as Base64, writing it to the output buffer.

§Returns
  • Ok(bytes) if the expected amount of data was read
  • Err(Error::InvalidLength) if there is insufficient space in the output buffer
Source

pub fn position(&self) -> usize

Get the position inside of the output buffer where the write cursor is currently located.

Source

pub fn finish(self) -> Result<&'o str, Error>

Finish encoding data, returning the resulting Base64 as a str.

Source

pub fn finish_with_remaining(self) -> Result<(&'o str, &'o mut [u8]), Error>

Finish encoding data, returning the resulting Base64 as a str along with the remaining space in the output buffer.