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", so this trait is not object safe.

Implementors§