Struct base64::write::EncoderStringWriter [−][src]
pub struct EncoderStringWriter<S: StrConsumer> { /* fields omitted */ }Expand description
A Write implementation that base64-encodes data using the provided config and accumulates the
resulting base64 in memory, which is then exposed as a String via into_inner().
Examples
Buffer base64 in a new String:
use std::io::Write;
let mut enc = base64::write::EncoderStringWriter::new(base64::STANDARD);
enc.write_all(b"asdf").unwrap();
// get the resulting String
let b64_string = enc.into_inner();
assert_eq!("YXNkZg==", &b64_string);Or, append to an existing String:
use std::io::Write;
let mut buf = String::from("base64: ");
let mut enc = base64::write::EncoderStringWriter::from(&mut buf, base64::STANDARD);
enc.write_all(b"asdf").unwrap();
// release the &mut reference on buf
let _ = enc.into_inner();
assert_eq!("base64: YXNkZg==", &buf);Panics
Calling write() (or related methods) or finish() after finish() has completed without
error is invalid and will panic.
Performance
Because it has to validate that the base64 is UTF-8, it is about 80% as fast as writing plain
bytes to a io::Write.
Implementations
Create a EncoderStringWriter that will append to the provided StrConsumer.
Encode all remaining buffered data, including any trailing incomplete input triples and associated padding.
Once this succeeds, no further writes or calls to this method are allowed.
Returns the base64-encoded form of the accumulated written data.
Trait Implementations
Write a buffer into this writer, returning how many bytes were written. Read more
Flush this output stream, ensuring that all intermediately buffered contents reach their destination. Read more
can_vector)Determines if this Writer has an efficient write_vectored
implementation. Read more
Attempts to write an entire buffer into this writer. Read more
write_all_vectored)Attempts to write multiple buffers into this writer. Read more
Writes a formatted string into this writer, returning any error encountered. Read more