HORIZON HASKELLDocslts/ghc-10.0.x2b276322026-10-31Search packagesCtrl K
Theme: |

GHC 10.0.0.20260917 · lts/ghc-10.0.x · 2b27632 · 2026-10-31

Modulebase64-1.0Haskell2010

Data.ByteString.Short.Base64

This module contains ShortByteString-valued combinators for implementing the RFC 4648 specification of the Base64 encoding format. This includes lenient decoding variants, as well as internal and external validation for canonicity.

Contents
  1. Encoding
  2. Decoding
  3. Validation
Synopsis
  • Packagebase64-1.0
  • Exports7
  • LanguageHaskell2010
  • LicenceBSD-3-Clause
  • SourceBase64.hs

Encoding

Decoding

Leniently decode an unpadded Base64-encoded ShortByteString value. This function will not generate parse errors. If input data contains padding chars, then the input will be parsed up until the first pad character.

Note: This is not RFC 4648-compliant.

Examples:
Example1 expression
decodeBase64Lenient "U3Vu""Sun"
Example1 expression
decodeBase64Lenient "U3V""Su"
Example1 expression
decodeBase64Lenient "U3V=""Su"

Validation

Tell whether a ShortByteString value is base64 encoded.

This function will also detect non-canonical encodings such as ZE==, which are externally valid Base64-encoded values, but are internally inconsistent "impossible" values.

Examples:
Example1 expression
isBase64 "U3Vu"True
Example1 expression
isBase64 "U3V"False
Example1 expression
isBase64 "U3V="False

Tell whether a ShortByteString value is a valid Base64 format.

This will not tell you whether or not this is a correct Base64 representation, only that it conforms to the correct shape. To check whether it is a true Base64 encoded ShortByteString value, use isBase64.

Examples:
Example1 expression
isValidBase64 "U3Vu"True
Example1 expression
isValidBase64 "U3V"True
Example1 expression
isValidBase64 "U3V="True
Example1 expression
isValidBase64 "%"False