HORIZON HASKELLDocslts/ghc-9.10.x248f8f02026-10-05Search names, modules, packages, or :: a typeCtrl K

GHC 9.10.3 · lts/ghc-9.10.x · 248f8f0 · 2026-10-05

Modulebase16-1.0Haskell2010

Data.Text.Lazy.Encoding.Base16

This module contains Text-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.

  • 7 values
  • Packagebase16-1.0
  • Exports7
  • LanguageHaskell2010
  • LicenceBSD-3-Clause
  • SourceBase16.hs

Decode a Base16-encoded lazy Text value leniently, using a strategy that never fails.

Warning: in the conversion to unicode text, exceptions may be thrown. Please use decodeBase16' if you are unsure if you are working with base16-encoded values, or if you expect garbage.

N.B.: this is not RFC 4648-compliant. It may give you garbage if you're not careful!

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

Tell whether a lazy Text value is Base16-encoded.

Examples:
Example1 expression
isBase16 "666f6"False
Example1 expression
isBase16 "666f"True
valueisValidBase16 :: Text -> Bool
#

Tell whether a lazy Text 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 shape. To check whether it is a true Base16 encoded Text value, use isBase16.

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