HORIZON HASKELLDocslts/ghc-9.10.xc74966e2026-09-27Search names, modules, packages, or :: a typeCtrl K

GHC 9.10.3 · lts/ghc-9.10.x · c74966e · 2026-09-27

Modulebase16-1.0Haskell2010

Data.ByteString.Base16

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

  • 8 values
  • Packagebase16-1.0
  • Exports8
  • LanguageHaskell2010
  • LicenceBSD-3-Clause
  • SourceBase16.hs

Decode a Base16-encoded ByteString value leniently, using a strategy that never fails

N.B.: this is not RFC 4648-compliant

Examples:
Example1 expression
decodeBase16Lenient "53756e""Sun"
Example1 expression
decodeBase16Lenient "6x6x""f"
valueisBase16 :: ByteString -> Bool
#

Tell whether an untyped ByteString value is base16 encoded.

Examples:
Example1 expression
isBase16 "666f6"False
Example1 expression
isBase16 "666f"True

Tell whether an untyped ByteString value is a valid Base16 format.

This will not tell you whether or not this is a correct Base16 representation, only that it conforms to the correct alphabet. To check whether it is a true Base16 encoded ByteString value, use isBase16.

Examples:
Example1 expression
isValidBase16 "666f+/6"False
Example1 expression
isValidBase16 "666f6"True