Encode a ByteString value as a Base32 Text value with padding.
See: RFC-4648 section 6
Examples:
encodeBase32 "Sun""KN2W4==="
:: a typeCtrl KGHC 9.10.3 · lts/ghc-9.10.x · c74966e · 2026-09-27
Modulebase32-0.4Haskell2010
This module contains ByteString-valued combinators for implementing the RFC 4648 specification of the Base32 encoding format. This includes padded and unpadded decoding variants, as well as internal and external validation for canonicity.
Encode a ByteString value as a Base32 Text value with padding.
See: RFC-4648 section 6
encodeBase32 "Sun""KN2W4==="
Encode a ByteString value as a Base32 ByteString value with padding.
See: RFC-4648 section 6
encodeBase32' "Sun""KN2W4==="
Encode a ByteString value as a Base32 Text value without padding.
See: RFC-4648 section 6
encodeBase32Unpadded "Sun""KN2W4"
Encode a ByteString value as a Base32 ByteString value without padding.
See: RFC-4648 section 6
encodeBase32Unpadded' "Sun""KN2W4"
Decode an arbitrarily padded Base32-encoded ByteString value. If its length is not a multiple of 8, then padding characters will be added to fill out the input to a multiple of 8 for safe decoding, as Base32-encoded values are optionally padded.
See: RFC-4648 section 6
decodeBase32 "KN2W4==="Right "Sun"
decodeBase32 "KN2W4"Right "Sun"
decodeBase32 "KN2W==="Left "Base32-encoded bytestring has invalid padding"
Decode an unpadded Base32-encoded ByteString value.
See: RFC-4648 section 6
decodeBase32Unpadded "KN2W4"Right "Sun"
decodeBase32Unpadded "KN2W4==="Left "Base32-encoded bytestring has invalid padding"
Decode a padded Base32-encoded ByteString value.
See: RFC-4648 section 6
decodeBase32Padded "KN2W4==="Right "Sun"
decodeBase32Padded "KN2W4"Left "Base32-encoded bytestring requires padding"
Tell whether a ByteString value is encoded in padded or unpadded Base32 format
isBase32 "KN2W4"True
isBase32 "KN2W4==="True
isBase32 "KN2W4=="False
Tell whether a ByteString value is a valid Base32 format.
This will not tell you whether or not this is a correct Base32 representation, only that it conforms to the correct shape (including padding/size etc.). To check whether it is a true Base32 encoded ByteString value, use isBase32.
isValidBase32 "KN2W4"True
isValidBase32 "KN2W4="False
isValidBase32 "KN2W4%"False