hex-text: ByteString-Text hexidecimal conversions

[ library, mit, text ] [ Propose Tags ]

Encode a ByteString as a hexidecimal Text value, or decode hexidecimal Text as a ByteString.

[Skip to Readme]


[Index] [Quick Jump]


Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees


  • No Candidates
Versions [RSS],,,,,,
Change log changelog.md
Dependencies base (>=4.16 && <4.19), base16-bytestring (>=1.0.2 && <1.1), bytestring (>=0.11.4 && <0.12), text (>=1.2.5 && <1.3 || >=2.0 && <2.1) [details]
License MIT
Copyright 2021 Mission Valley Software LLC
Author Chris Martin
Maintainer Chris Martin, Julie Moronuki
Category Text
Home page https://github.com/typeclasses/hex-text
Bug tracker https://github.com/typeclasses/hex-text/issues
Source repo head: git clone https://github.com/typeclasses/hex-text
Uploaded by chris_martin at 2023-06-21T23:33:27Z
Distributions LTSHaskell:, NixOS:, Stackage:
Reverse Dependencies 9 direct, 3 indirect [details]
Downloads 3260 total (60 in the last 30 days)
Rating 2.0 (votes: 1) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2023-06-22 [all 1 reports]

Readme for hex-text-

[back to package description]


hex-text is a small library for converting between ByteStrings and their representations as hexidecimal numbers encoded as Text.


When using Stripe for payments, Stripe sends a signature as a hexidecimal Text value. The cryptonite package can be used to verify the signature, but it requires ByteString values, not Text.

Example usage

A ByteString is a list of bytes. A byte is a number between 0 and 255, represented by the Word8 type. In a fixed-width hexidecimal representation, the lowest byte 0 is represented by the hex string 00, and the greatest byte 255 is represented by the hex string ff. So, for example, the ByteString consisting of bytes [ 1, 2, 3, 253, 254, 255 ] is represented as 010203fdfeff.

λ> import Text.Hex (encodeHex)
λ> import Data.ByteString (pack)

λ> (encodeHex . pack) [1, 2, 3, 253, 254, 255]