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



______________________________________________________________________________

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 SF Trackers
       [http://sourceforge.net/tracker/?group_id=12883].  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




base64                               1.1.2                          yencode(n)
