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.