plucky (3) yencode.3tcl.gz

Provided by: tcllib_2.0+dfsg-2_all bug

NAME

       yencode - Y-encode/decode binary data

SYNOPSIS

       package require Tcl 8.5 9

       package require yencode ?1.1.4?

       ::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.

       When proposing code changes, please provide unified diffs, i.e the output of diff -u.

       Note  further  that  attachments  are strongly preferred over inlined patches. Attachments can be made by
       going to the Edit form of the ticket immediately after its creation, and then using the left-most  button
       in the secondary navigation bar.

KEYWORDS

       encoding, yEnc, ydecode, yencode

CATEGORY

       Text processing

       Copyright (c) 2002, Pat Thoyts