Uuencoding is notoriously badly specified. This implementation is compatible with the GNU Sharutils (http://www.gnu.org/software/sharutils/).
Further documentation and information can be found at http://www.haskell.org/haskellwiki/Library/Data_encoding.
Chop up a string in parts. Each string in the resulting list is prepended with the length according to the uuencode "specificiation".
- The length of the strings in the result will be
(n -1). The
div4 * 4 + 1
-1comes from the need to prepend the length (which explains the final
+1). Keeping it to a multiple of 4 means that strings returned from
encodecan be chopped without requiring any changes.
- The length of lines in GNU's sharutils is 61.