Struct bs58::decode::DecodeBuilder
source · pub struct DecodeBuilder<'a, I: AsRef<[u8]>> { /* private fields */ }
Expand description
A builder for setting up the alphabet and output of a base58 decode.
See the documentation for bs58::decode
for a more
high level view of how to use this.
Implementations§
source§impl<'a, I: AsRef<[u8]>> DecodeBuilder<'a, I>
impl<'a, I: AsRef<[u8]>> DecodeBuilder<'a, I>
sourcepub fn new(input: I, alpha: &'a Alphabet) -> DecodeBuilder<'a, I>
pub fn new(input: I, alpha: &'a Alphabet) -> DecodeBuilder<'a, I>
Setup decoder for the given string using the given alphabet.
Preferably use bs58::decode
instead of this directly.
sourcepub fn with_alphabet(self, alpha: &'a Alphabet) -> DecodeBuilder<'a, I>
pub fn with_alphabet(self, alpha: &'a Alphabet) -> DecodeBuilder<'a, I>
Change the alphabet that will be used for decoding.
Examples
assert_eq!(
vec![0x60, 0x65, 0xe7, 0x9b, 0xba, 0x2f, 0x78],
bs58::decode("he11owor1d")
.with_alphabet(bs58::Alphabet::RIPPLE)
.into_vec()?);
sourcepub fn into_vec(self) -> Result<Vec<u8>>
pub fn into_vec(self) -> Result<Vec<u8>>
Decode into a new vector of bytes.
See the documentation for bs58::decode
for an
explanation of the errors that may occur.
Examples
assert_eq!(
vec![0x04, 0x30, 0x5e, 0x2b, 0x24, 0x73, 0xf0, 0x58],
bs58::decode("he11owor1d").into_vec()?);
sourcepub fn onto(self, output: impl DecodeTarget) -> Result<usize>
pub fn onto(self, output: impl DecodeTarget) -> Result<usize>
Decode into the given buffer.
Returns the length written into the buffer.
If the buffer is resizeable it will be extended and the new data will be written to the end of it.
If the buffer is not resizeable bytes will be written from the beginning and bytes after the final encoded byte will not be touched.
See the documentation for bs58::decode
for an
explanation of the errors that may occur.
Examples
Vec<u8>
let mut output = b"hello ".to_vec();
assert_eq!(5, bs58::decode("EUYUqQf").onto(&mut output)?);
assert_eq!(b"hello world", output.as_slice());
&mut [u8]
let mut output = b"hello ".to_owned();
assert_eq!(5, bs58::decode("EUYUqQf").onto(&mut output)?);
assert_eq!(b"world ", output.as_ref());