>>> uuDecodeFinal $ Data.ByteString.Char8.pack "9F\\" Just "fo" >>> uuDecodeFinal $ Data.ByteString.Char8.pack "" Just "" >>> uuDecodeFinal $ Data.ByteString.Char8.pack "9F¬" NothingBut it must be the encoding of a block that is less than 3 bytes:
>>> uuDecodeFinal $ encode $ Data.ByteString.Char8.pack "foo" Nothing
>>> uuDecodePart $ Data.ByteString.Char8.pack "9F]O" Right ("foo","") >>> uuDecodePart $ Data.ByteString.Char8.pack "9F]O8F$" Right ("foo","8F$")Failures occur on bad input and result in a Left value:
>>> uuDecodePart $ Data.ByteString.Char8.pack "9F 0" Left ("","9F 0")
>>> uuEncodeFinal $ Data.ByteString.Char8.pack "r" Just "<@"Trying to pass in too large a block result in failure:
>>> uuEncodeFinal $ Data.ByteString.Char8.pack "foo" Nothing
>>> uuEncodePart $ Data.ByteString.Char8.pack "foo" ("9F]O","") >>> uuEncodePart $ Data.ByteString.Char8.pack "foob" ("9F]O","b")