base_d/
lib.rs

1mod alphabet;
2mod encoding;
3mod chunked;
4mod config;
5
6pub use alphabet::Alphabet;
7pub use config::{AlphabetsConfig, AlphabetConfig, EncodingMode};
8
9use encoding::DecodeError;
10
11pub fn encode(data: &[u8], alphabet: &Alphabet) -> String {
12    match alphabet.mode() {
13        EncodingMode::BaseConversion => encoding::encode(data, alphabet),
14        EncodingMode::Chunked => chunked::encode_chunked(data, alphabet),
15    }
16}
17
18pub fn decode(encoded: &str, alphabet: &Alphabet) -> Result<Vec<u8>, DecodeError> {
19    match alphabet.mode() {
20        EncodingMode::BaseConversion => encoding::decode(encoded, alphabet),
21        EncodingMode::Chunked => chunked::decode_chunked(encoded, alphabet),
22    }
23}
24
25#[cfg(test)]
26mod tests;