yencode(3tcl) Text encoding & decoding binary data yencode(3tcl)______________________________________________________________________________NAMEyencode - 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 encod‐
ing. 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://source‐
forge.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, yencodeCATEGORY
Text processing
COPYRIGHT
Copyright (c) 2002, Pat Thoyts
base64 1.1.2 yencode(3tcl)