base32

Fast RFC 4648-compliant Base32 encoding

https://github.com/emilypi/base32

Version on this page:0.2.0.0@rev:1
LTS Haskell 22.14:0.4
Stackage Nightly 2023-12-26:0.4
Latest on Hackage:0.4

See all snapshots base32 appears in

BSD-3-Clause licensed by Emily Pillmore
Maintained by [email protected]
This version can be pinned in stack with:base32-0.2.0.0@sha256:a50b8f9da31af2fa3e4eda3d6e33c16b85ea6e0ffe391621e910c64cb0034c6f,2732
Used by 1 package in nightly-2020-10-16(full list with versions):

Base32

Build Status Hackage

Padded and unpadded base32 and base32hex encoding and decoding for Text and ByteString values.

For the companion optics and pattern synonyms, see base32-lens.

Summary

The following types are supported for both padded and unpadded std and extended hex alphabets:

  • Data.ByteString
  • Data.ByteString.Lazy
  • Data.ByteString.Short
  • Data.Text
  • Data.Text.Lazy
  • Data.Text.Short

Additionally this library has

  • Better performance than memory for encode and decode 3-4x.
  • Optics for handling more complex structures with Base32 representations via the base32-lens package
  • Checks for both validity and correctness of Base32 and Base32hex encodings

There are no dependencies aside from those bundled with GHC, text-short, and the ghc-byteorder re-export.

Changes

Revision history for base32

0.2.0.0

  • Bugfix: fix unpadded base32 encoding (#4)
  • Bugfix: Use decodeLatin1 when decoding, defer to decodeWith* primitives for finer-grained Text to ByteString conversions. (#5)
  • Add short and lazy variants for Text and ByteString (#6)
  • Expanded test coverage to 96% (#7)
  • Improved performance and better error reporting in final quanta (#9)
  • Improved docs + trustworthy/safe annotations (#10)

0.1.1.1 – 2020-02-16

  • Documentation now references correct RFC section

0.1.1 – 2020-02-16

  • Textual interface now uses correct unpadded version

0.1.0.0 – 2020-02-16

  • First version. Released on an unsuspecting world.