Provided by: tcllib_1.15-dfsg-2_all
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