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