Copyright | (c) 2012 Magnus Therning |
---|---|
License | BSD3 |
Safe Haskell | None |
Language | Haskell98 |
Xxencoding is obsolete but still included for completeness. Further information on the encoding can be found at http://en.wikipedia.org/wiki/Xxencode. It should be noted that this implementation performs no padding.
This encoding is very similar to uuencoding, therefore further information regarding the functions can be found in the documentation of Codec.Binary.Uu.
- xx_encode_part :: ByteString -> (ByteString, ByteString)
- xx_encode_final :: ByteString -> Maybe ByteString
- xx_decode_part :: ByteString -> Either (ByteString, ByteString) (ByteString, ByteString)
- xx_decode_final :: ByteString -> Maybe ByteString
- encode :: ByteString -> ByteString
- decode :: ByteString -> Either (ByteString, ByteString) ByteString
Documentation
xx_encode_part :: ByteString -> (ByteString, ByteString) Source
Encoding function.
>>>
xx_encode_part $ Data.ByteString.Char8.pack "foo"
("Naxj","")>>>
xx_encode_part $ Data.ByteString.Char8.pack "foob"
("Naxj","b")
xx_encode_final :: ByteString -> Maybe ByteString Source
Encoding function for the final block.
>>>
xx_encode_final $ Data.ByteString.Char8.pack "r"
Just "QU">>>
xx_encode_final $ Data.ByteString.Char8.pack "foo"
Nothing
xx_decode_part :: ByteString -> Either (ByteString, ByteString) (ByteString, ByteString) Source
Decoding function.
>>>
xx_decode_part $ Data.ByteString.Char8.pack "Naxj"
Right ("foo","")>>>
xx_decode_part $ Data.ByteString.Char8.pack "NaxjMa3"
Right ("foo","Ma3")
>>>
xx_decode_part $ Data.ByteString.Char8.pack "Na j"
Left ("","Na J")
xx_decode_final :: ByteString -> Maybe ByteString Source
Decoding function for the final block.
>>>
xx_decode_final $ Data.ByteString.Char8.pack "Naw"
Just "fo">>>
xx_decode_final $ Data.ByteString.Char8.pack ""
Just "">>>
xx_decode_final $ Data.ByteString.Char8.pack "Na "
Nothing
>>>
xx_decode_final $ encode $ Data.ByteString.Char8.pack "foo"
Nothing
encode :: ByteString -> ByteString Source
decode :: ByteString -> Either (ByteString, ByteString) ByteString Source