


uuencode(n)    Text encoding & decoding binary data   uuencode(n)


______________________________________________________________________________

NAME
       uuencode - UU-encode/decode binary data

SYNOPSIS
       package require Tcl  8

       package require uuencode  ?1.1.4?

       ::uuencode::encode string

       ::uuencode::decode string

       ::uuencode::uuencode  ?-name  string?  ?-mode  octal? (-file filename |
       ?--? string)

       ::uuencode::uudecode (-file filename | ?--? string)

_________________________________________________________________

DESCRIPTION
       This package provides a Tcl-only implementation of the uuencode(1)  and
       uudecode(1)  commands.  This  encoding packs binary data into printable
       ASCII characters.

       ::uuencode::encode string
              returns the uuencoded data. This will encode all the data passed
              in even if this is longer than the uuencode maximum line length.
              If the number of input bytes is not a multiple of 3  then  addi-
              tional 0 bytes are added to pad the string.

       ::uuencode::decode string
              Decodes  the  given  encoded  data. This will return any padding
              characters as well and it is the callers responsibility to  deal
              with  handling the actual length of the encoded data. (see uuen-
              code).

       ::uuencode::uuencode ?-name string?  ?-mode  octal?  (-file  filename
       |  ?--? string)

       ::uuencode::uudecode (-file filename | ?--? string)
              UUDecode a file or block of data. A file may contain  more  than
              one  embedded file so the result is a list where each element is
              a three element list of filename, mode value and data.


OPTIONS
       -filename name
              Cause the uuencode or uudecode commands to read their data  from
              the named file rather that taking a string parameter.

       -name string
              The  uuencoded data header line contains the suggested file name



base64                        1.1.4                             1





uuencode(n)    Text encoding & decoding binary data   uuencode(n)


              to be used when unpacking the data. Use this  option  to  change
              this from the default of "data.dat".

       -mode octal
              The  uuencoded data header line contains a suggested permissions
              bit pattern expressed as an octal string. To change the  default
              of  0644  you  can  set this option. For instance, 0755 would be
              suitable for an executable. See chmod(1).


EXAMPLES
       % set d [uuencode::encode "Hello World!"]
       2&5L;&\\@5V]R;&0A



       % uuencode::uudecode $d
       Hello World!



       % set d [uuencode::uuencode -name hello.txt "Hello World"]
       begin 644 hello.txt
       +2&5L;&\@5V]R;&0`
       `
       end



       % uuencode::uudecode $d
       {hello.txt 644 {Hello World}}


BUGS, IDEAS, FEEDBACK
       This document, and the package it describes, will  undoubtedly  contain
       bugs  and other problems.  Please report such in the category base64 of
       the         Tcllib         SF         Trackers          [http://source-
       forge.net/tracker/?group_id=12883].   Please  also report any ideas for
       enhancements you may have for either package and/or documentation.

KEYWORDS
       encoding, uuencode

CATEGORY
       Text processing

COPYRIGHT
       Copyright (c) 2002, Pat Thoyts









base64                        1.1.4                             2


