Provided by: tcllib_1.17-dfsg-1_all bug

NAME

       yencode - Y-encode/decode binary data

SYNOPSIS

       package require Tcl  8.2

       package require yencode  ?1.1.2?

       ::yencode::encode string

       ::yencode::decode string

       ::yencode::yencode  ?-name string? ?-line integer? ?-crc32 boolean? (-file filename | ?--?
       string)

       ::yencode::ydecode (-file filename | ?--? string)

_________________________________________________________________________________________________

DESCRIPTION

       This package provides a Tcl-only implementation of the  yEnc  file  encoding.  This  is  a
       recently  introduced method of encoding binary files for transmission through Usenet. This
       encoding packs binary data into a format that requires an 8-bit clean  transmission  layer
       but   that   escapes   characters   special   to   the   NNTP   posting   protocols.   See
       http://www.yenc.org/ for details concerning the algorithm.

       ::yencode::encode string
              returns the yEnc encoded data.

       ::yencode::decode string
              Decodes the given yEnc encoded data.

       ::yencode::yencode ?-name string? ?-line integer? ?-crc32 boolean? (-file filename |  ?--?
       string)
              Encode a file or block of data.

       ::yencode::ydecode (-file filename | ?--? string)
              Decode  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,  file
              size and data.

OPTIONS

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

       -name string
              The encoded data header line contains the suggested  file  name  to  be  used  when
              unpacking the data. Use this option to change this from the default of "data.dat".

       -line integer
              The  yencoded  data  header  line  contains records the line length used during the
              encoding. Use this option to select a line length other that the  default  of  128.
              Note  that  NNTP  imposes  a 1000 character line length limit and some gateways may
              have trouble with more than 255 characters per line.

       -crc32 boolean
              The yEnc specification recommends the inclusion of a cyclic redundancy check  value
              in the footer. Use this option to change the default from true to false.

              % set d [yencode::yencode -file testfile.txt]
              =ybegin line=128 size=584 name=testfile.txt
               -o- data not shown -o-
              =yend size=584 crc32=ded29f4f

REFERENCES

       [1]    http://www.yenc.org/yenc-draft.1.3.txt

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   Trackers
       [http://core.tcl.tk/tcllib/reportlist].  Please also report any ideas for enhancements you
       may have for either package and/or documentation.

KEYWORDS

       encoding, yEnc, ydecode, yencode

CATEGORY

       Text processing

COPYRIGHT

       Copyright (c) 2002, Pat Thoyts