HORIZON HASKELLDocslts/ghc-10.0.x8fef28d2026-11-02Search packagesCtrl K
Theme: |

GHC 10.0.0.20260917 · lts/ghc-10.0.x · 8fef28d · 2026-11-02

Modulebase32-0.4Haskell2010

Data.ByteString.Base32

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.

Contents
  1. Encoding
  2. Decoding
  3. Validation
Synopsis
  • Packagebase32-0.4
  • Exports9
  • LanguageHaskell2010
  • LicenceBSD-3-Clause
  • SourceBase32.hs

Encoding

Decoding

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

Examples:
Example1 expression
decodeBase32 "KN2W4==="Right "Sun"
Example1 expression
decodeBase32 "KN2W4"Right "Sun"
Example1 expression
decodeBase32 "KN2W==="Left "Base32-encoded bytestring has invalid padding"

Validation

Tell whether a ByteString value is encoded in padded or unpadded Base32 format

Examples:
Example1 expression
isBase32 "KN2W4"True
Example1 expression
isBase32 "KN2W4==="True
Example1 expression
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.

Examples:
Example1 expression
isValidBase32 "KN2W4"True
Example1 expression
isValidBase32 "KN2W4="False
Example1 expression
isValidBase32 "KN2W4%"False