Function const_base::encode [−][src]
pub const fn encode<const OUT: usize>(
input: &[u8],
config: Config
) -> Result<[u8; OUT], MismatchedOutputLength>
Expand description
Encodes input
into a [u8; OUT]
with the encoding determined by config
.
Errors
This function returns a MismatchedOutputLength
error when
OUT
doesn’t equal encoded_len(input.len(), config)
.
Example
Base 64
use const_base::{Config, encode, unwrap_or, utils::repeated}; { const ENCODED: [u8; 16] = unwrap_or!(encode(b"hello worl", Config::B64), repeated(0xFF)); assert_eq!(ENCODED, *b"aGVsbG8gd29ybA=="); } { const CFG: Config = Config::B64.end_padding(false); const ENCODED: [u8; 4] = unwrap_or!(encode(b"BYE", CFG), repeated(0xFF)); assert_eq!(ENCODED, *b"QllF"); }
Base 32
use const_base::{Config, encode, unwrap_or, utils::repeated}; { const ENCODED: [u8; 8] = unwrap_or!(encode(b"fox", Config::B32), repeated(0xFF)); assert_eq!(ENCODED, *b"MZXXQ==="); } { const CFG: Config = Config::B32.end_padding(false); const ENCODED: [u8; 5] = unwrap_or!(encode(b"dog", CFG), repeated(0xFF)); assert_eq!(ENCODED, *b"MRXWO"); }
Hexadecimal
use const_base::{Config, encode, unwrap_or, utils::repeated}; { const LOWER: [u8; 8] = unwrap_or!(encode(b"bluh", Config::HEX_LOWER), repeated(0xFF)); const UPPER: [u8; 8] = unwrap_or!(encode(b"bluh", Config::HEX), repeated(0xFF)); assert_eq!(LOWER, *b"626c7568"); assert_eq!(UPPER, *b"626C7568"); }