This is not necessarily the current version of this TIP.
|Title:||Extend binary Ensemble with Binary Encodings|
|Version:||$Revision: 1.1 $|
|Author:||Pat Thoyts <patthoyts at users dot sourceforge dot net>|
|Created:||Saturday, 03 May 2008|
|Keywords:||base64, uuencode, hex, transfer encoding|
This TIP extends the binary command with implementations in C of commonly used binary encodings. In particular the base64 encoding is implemented but the Tcl ensemble scheme TIP #112 can be used to provide simple extension of the implemented formats.
The binary command ensemble will be extended to include two new subcommands, encode and decode. Each subcommand will accept two arguments. The first is the name of an encoding format and the second is the data to be operated upon.
binary encode format data
binary decode format data
In keeping with the nature of the binary command, the data argument is treated as a byte array. This means that users should ensure their data is already in a suitable character encoding before applying a binary encoding. This is already a requirement for other implementations of this functionality (e.g. the tcllib and Trf packages).
The initial set of binary encodings consists of base64, uuencode and hex. The implementation of the encode and decode subcommands will make use of the Tcl ensemble command mechanism (TIP #112) and will therefore be extensible via the ensemble mechanism.
A patch against the Tcl HEAD (8.6) is located at http://sf.net/tracker/?func=detail&aid=1956530&group_id=10894&atid=310894
This document has been placed in the public domain.
This is not necessarily the