yencode(n) 1.0.1 base64 "encode/decoding a binary file"

NAME

yencode - encode/decoding a binary file

SYNOPSIS

package require Tcl 8.2
package require yencode ?1.0.1?

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

KEYWORDS

encoding, uuencode, yEnc, ydecode, yencode

COPYRIGHT

Copyright © 2002, Pat Thoyts