hex-text-0.1.0.9: ByteString-Text hexidecimal conversions
Safe HaskellSafe-Inferred
LanguageGHC2021

Text.Hex

Synopsis

Encoding and decoding

encodeHex :: ByteString -> Text Source #

Encodes a byte string as hexadecimal number represented in text

Each byte of the input is converted into two characters in the resulting text.

>>> (encodeHex . ByteString.singleton) 192
"c0"
>>> (encodeHex . ByteString.singleton) 168
"a8"
>>> (encodeHex . ByteString.pack) [192, 168, 1, 2]
"c0a80102"

Text produced by encodeHex can be converted back to a ByteString using decodeHex.

The lazy variant of encodeHex is lazilyEncodeHex.

decodeHex :: Text -> Maybe ByteString Source #

Decodes hexadecimal text as a byte string

lazilyEncodeHex :: LazyByteString -> LazyText Source #

The lazy variant of encodeHex

With laziness, it is possible to encode byte strings of infinite length:

>>> (LazyText.take 8 . lazilyEncodeHex . LazyByteString.pack . cycle) [1, 2, 3]
"01020301"

Types

type Text = Text Source #

Strict text

type LazyText = Text Source #

Lazy text

type ByteString = ByteString Source #

Strict byte string

type LazyByteString = ByteString Source #

Lazy byte string

Type conversions