Struct base64::read::DecoderReader
source · pub struct DecoderReader<'a, R: 'a + Read> { /* private fields */ }
Expand description
A Read
implementation that decodes base64 data read from an underlying reader.
Examples
use std::io::Read;
use std::io::Cursor;
// use a cursor as the simplest possible `Read` -- in real code this is probably a file, etc.
let mut wrapped_reader = Cursor::new(b"YXNkZg==");
let mut decoder = base64::read::DecoderReader::new(
&mut wrapped_reader, base64::STANDARD);
// handle errors as you normally would
let mut result = Vec::new();
decoder.read_to_end(&mut result).unwrap();
assert_eq!(b"asdf", &result[..]);
Implementations§
Trait Implementations§
source§impl<'a, R: Read> Debug for DecoderReader<'a, R>
impl<'a, R: Read> Debug for DecoderReader<'a, R>
source§impl<'a, R: Read> Read for DecoderReader<'a, R>
impl<'a, R: Read> Read for DecoderReader<'a, R>
source§fn read(&mut self, buf: &mut [u8]) -> Result<usize>
fn read(&mut self, buf: &mut [u8]) -> Result<usize>
Decode input from the wrapped reader.
Under non-error circumstances, this returns Ok
with the value being the number of bytes
written in buf
.
Where possible, this function buffers base64 to minimize the number of read() calls to the delegate reader.
Errors
Any errors emitted by the delegate reader are returned. Decoding errors due to invalid
base64 are also possible, and will have io::ErrorKind::InvalidData
.
1.36.0 · source§fn read_vectored(&mut self, bufs: &mut [IoSliceMut<'_>]) -> Result<usize, Error>
fn read_vectored(&mut self, bufs: &mut [IoSliceMut<'_>]) -> Result<usize, Error>
Like
read
, except that it reads into a slice of buffers. Read moresource§fn is_read_vectored(&self) -> bool
fn is_read_vectored(&self) -> bool
🔬This is a nightly-only experimental API. (
can_vector
)1.0.0 · source§fn read_to_end(&mut self, buf: &mut Vec<u8, Global>) -> Result<usize, Error>
fn read_to_end(&mut self, buf: &mut Vec<u8, Global>) -> Result<usize, Error>
Read all bytes until EOF in this source, placing them into
buf
. Read more1.0.0 · source§fn read_to_string(&mut self, buf: &mut String) -> Result<usize, Error>
fn read_to_string(&mut self, buf: &mut String) -> Result<usize, Error>
Read all bytes until EOF in this source, appending them to
buf
. Read more1.6.0 · source§fn read_exact(&mut self, buf: &mut [u8]) -> Result<(), Error>
fn read_exact(&mut self, buf: &mut [u8]) -> Result<(), Error>
Read the exact number of bytes required to fill
buf
. Read moresource§fn read_buf(&mut self, buf: BorrowedCursor<'_>) -> Result<(), Error>
fn read_buf(&mut self, buf: BorrowedCursor<'_>) -> Result<(), Error>
🔬This is a nightly-only experimental API. (
read_buf
)Pull some bytes from this source into the specified buffer. Read more
source§fn read_buf_exact(&mut self, cursor: BorrowedCursor<'_>) -> Result<(), Error>
fn read_buf_exact(&mut self, cursor: BorrowedCursor<'_>) -> Result<(), Error>
🔬This is a nightly-only experimental API. (
read_buf
)Read the exact number of bytes required to fill
cursor
. Read more1.0.0 · source§fn by_ref(&mut self) -> &mut Selfwhere
Self: Sized,
fn by_ref(&mut self) -> &mut Selfwhere
Self: Sized,
Creates a “by reference” adaptor for this instance of
Read
. Read more