Struct base64::engine::general_purpose::GeneralPurpose
source · [−]pub struct GeneralPurpose { /* private fields */ }
Expand description
A general-purpose base64 engine.
- It uses no vector CPU instructions, so it will work on any system.
- It is reasonably fast (~2-3GiB/s).
- It is not constant-time, though, so it is vulnerable to timing side-channel attacks. For loading cryptographic keys, etc, it is suggested to use the forthcoming constant-time implementation.
Implementations
sourceimpl GeneralPurpose
impl GeneralPurpose
sourcepub const fn new(alphabet: &Alphabet, config: GeneralPurposeConfig) -> Self
pub const fn new(alphabet: &Alphabet, config: GeneralPurposeConfig) -> Self
Create a GeneralPurpose
engine from an Alphabet.
While not very expensive to initialize, ideally these should be cached if the engine will be used repeatedly.
Trait Implementations
sourceimpl Engine for GeneralPurpose
impl Engine for GeneralPurpose
type Config = GeneralPurposeConfig
type Config = GeneralPurposeConfig
The config type used by this engine
type DecodeEstimate = GeneralPurposeEstimate
type DecodeEstimate = GeneralPurposeEstimate
The decode estimate used by this engine
sourcefn encode_string<T: AsRef<[u8]>>(&self, input: T, output_buf: &mut String)
fn encode_string<T: AsRef<[u8]>>(&self, input: T, output_buf: &mut String)
Encode arbitrary octets as base64 into a supplied
String
.
Writes into the supplied String
, which may allocate if its internal buffer isn’t big enough. Read moresourcefn encode_slice<T: AsRef<[u8]>>(
&self,
input: T,
output_buf: &mut [u8]
) -> Result<usize, EncodeSliceError>
fn encode_slice<T: AsRef<[u8]>>(
&self,
input: T,
output_buf: &mut [u8]
) -> Result<usize, EncodeSliceError>
Encode arbitrary octets as base64 into a supplied slice.
Writes into the supplied output buffer. Read more
sourcefn decode<T: AsRef<[u8]>>(&self, input: T) -> Result<Vec<u8>, DecodeError>
fn decode<T: AsRef<[u8]>>(&self, input: T) -> Result<Vec<u8>, DecodeError>
Decode the input into a new
Vec
. Read moresourcefn decode_vec<T: AsRef<[u8]>>(
&self,
input: T,
buffer: &mut Vec<u8>
) -> Result<(), DecodeError>
fn decode_vec<T: AsRef<[u8]>>(
&self,
input: T,
buffer: &mut Vec<u8>
) -> Result<(), DecodeError>
sourcefn decode_slice<T: AsRef<[u8]>>(
&self,
input: T,
output: &mut [u8]
) -> Result<usize, DecodeSliceError>
fn decode_slice<T: AsRef<[u8]>>(
&self,
input: T,
output: &mut [u8]
) -> Result<usize, DecodeSliceError>
Decode the input into the provided output slice. Read more
sourcefn decode_slice_unchecked<T: AsRef<[u8]>>(
&self,
input: T,
output: &mut [u8]
) -> Result<usize, DecodeError>
fn decode_slice_unchecked<T: AsRef<[u8]>>(
&self,
input: T,
output: &mut [u8]
) -> Result<usize, DecodeError>
Decode the input into the provided output slice. Read more
Auto Trait Implementations
impl RefUnwindSafe for GeneralPurpose
impl Send for GeneralPurpose
impl Sync for GeneralPurpose
impl Unpin for GeneralPurpose
impl UnwindSafe for GeneralPurpose
Blanket Implementations
sourceimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more