Function bs62::decode_data[][src]

pub fn decode_data(inp: &str) -> Result<Vec<u8>, Box<dyn Error>>

Decode data with support for leading zeroes (that has been encoded using encode_data).

To keep leading zeroes, the data has before been prepended with a 0x01 byte. To undo that, the 0x01 byte is removed after decoding.

If the decoded data does not start with a 0x01 byte, an error is returned.

Algorithm

For how the actual decoding works, see decode_num.

Errors

An error variant is returned

  • when the input string contains invlid chars
  • if the data was not encoded with the magic byte 0x01 at the beginning (described in encode_data). It is then considered invalid data.

Example

let encoded = "IKN";
let data = bs62::decode_data(&encoded)?;

assert_eq!(data, vec![0x13_u8, 0x37]);