-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | ByteString-Text hexidecimal conversions -- -- Encode a ByteString as a hexidecimal Text value, or decode hexidecimal -- Text as a ByteString. @package hex-text @version 0.1.0.4 module Text.Hex -- | Encodes a byte string as hexidecimal 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. encodeHex :: ByteString -> Text -- | Decodes hexidecimal text as a byte string. If the text contains an -- even number of characters and consists only of the digits 0 -- through 9 and letters a through f, then the -- result is a Just value. -- -- Unpacking the ByteString in the following examples allows for prettier -- printing in the REPL. >>> (fmap ByteString.unpack . decodeHex -- . Text.pack) "c0a80102" Just [192,168,1,2] -- -- If the text contains an odd number of characters, decoding fails and -- produces Nothing. -- --
--   >>> (fmap ByteString.unpack . decodeHex . Text.pack) "c0a8010"
--   Nothing
--   
-- -- If the text contains non-hexidecimal characters, decoding fails and -- produces Nothing. -- --
--   >>> (fmap ByteString.unpack . decodeHex . Text.pack) "x0a80102"
--   Nothing
--   
-- -- The letters may be in either upper or lower case. This next example -- therefore gives the same result as the first one above: -- --
--   >>> (fmap ByteString.unpack . decodeHex . Text.pack) "C0A80102"
--   Just [192,168,1,2]
--   
decodeHex :: Text -> Maybe ByteString -- | lazilyEncodeHex is 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"
--   
lazilyEncodeHex :: LazyByteString -> LazyText -- | Strict text type Text = Text -- | Lazy text type LazyText = Text -- | Strict byte string type ByteString = ByteString -- | Lazy byte string type LazyByteString = ByteString lazyText :: Text -> LazyText strictText :: LazyText -> Text lazyByteString :: ByteString -> LazyByteString strictByteString :: LazyByteString -> ByteString