Enum const_base::errors::DecodeError
source · #[non_exhaustive]
pub enum DecodeError {
InvalidByte(InvalidByte),
WrongOutputLength(WrongOutputLength),
WrongInputLength(WrongInputLength),
ExcessBits(ExcessBits),
}
Expand description
Error returned by decode
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
InvalidByte(InvalidByte)
When one of the bytes in the slice passed to decode
isn’t in the char set of the passed encoding.
Eg: a !
in an otherwise base 64 encoded string.
WrongOutputLength(WrongOutputLength)
When the array returned by decode
isn’t the length that the arguments would produce.
WrongInputLength(WrongInputLength)
When the slice passed to decode
is not a valid length for that encoding.
The input lengths that are wrong for each encoding:
- Base 64: when
input.len() % 4
equals1
. - Base 32: when
input.len() % 8
equals1
,3
, or6
. - Base 16: when
input.len() % 2
equals1
.
ExcessBits(ExcessBits)
When the last byte in the slice passed to decode
has excess set bits that aren’t copied to the return value.