Skip to main content

Encoder

Trait Encoder 

Source
pub trait Encoder {
    // Required methods
    fn encoded_len(bin_len: usize) -> Result<usize, Error>;
    fn encode<IN: AsRef<[u8]>>(
        encoded: &mut [u8],
        bin: IN,
    ) -> Result<&[u8], Error>;

    // Provided methods
    fn encode_to_str<IN: AsRef<[u8]>>(
        encoded: &mut [u8],
        bin: IN,
    ) -> Result<&str, Error> { ... }
    fn encode_to_string<IN: AsRef<[u8]>>(bin: IN) -> Result<String, Error> { ... }
}
Expand description

Trait for encoding binary data into text representations.

Implementors of this trait provide constant-time encoding operations for a specific encoding format (Base64, Hex, etc.).

Required Methods§

Source

fn encoded_len(bin_len: usize) -> Result<usize, Error>

Calculates the length of the encoded output for a given binary input length.

§Arguments
  • bin_len - The length of the binary input in bytes
§Returns
  • Ok(usize) - The required length for the encoded output
  • Err(Error::Overflow) - If the calculation would overflow
Source

fn encode<IN: AsRef<[u8]>>(encoded: &mut [u8], bin: IN) -> Result<&[u8], Error>

Encodes binary data into a text representation.

§Arguments
  • encoded - Mutable buffer to store the encoded output
  • bin - Binary input data to encode
§Returns
  • Ok(&[u8]) - A slice of the encoded buffer containing the encoded data
  • Err(Error::Overflow) - If the output buffer is too small

Provided Methods§

Source

fn encode_to_str<IN: AsRef<[u8]>>( encoded: &mut [u8], bin: IN, ) -> Result<&str, Error>

Encodes binary data and returns the result as a string slice.

§Arguments
  • encoded - Mutable buffer to store the encoded output
  • bin - Binary input data to encode
§Returns
  • Ok(&str) - A string slice containing the encoded data
  • Err(Error::Overflow) - If the output buffer is too small
Source

fn encode_to_string<IN: AsRef<[u8]>>(bin: IN) -> Result<String, Error>

Encodes binary data and returns the result as a String.

This method is only available when the std feature is enabled.

§Arguments
  • bin - Binary input data to encode
§Returns
  • Ok(String) - A String containing the encoded data
  • Err(Error::Overflow) - If the calculation would overflow

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§