Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
base64(n)							     base64(n)

       base64 -	Encoding "base64"

       package require Tcl  ?8.2?

       package require Trf  ?2.1.3?

       base64 ?options...? ?data?

       The  command  base64  is	 one of	several	data encodings provided	by the
       package trf. See	trf-intro for an overview of the whole package.

       This encoding transforms	every block of three bytes  into  a  block  of
       four  bytes,  each of which is printable, i.e. 7bit ASCII. This implies
       that the	result is valid	UTF-8 too.  The	command	uses  essentially  the
       same  algorithm	as  for	 uuencode, except for a	different mapping from
       6-bit fragments to printable bytes.

       base64 ?options...? ?data?

	      -mode encode|decode
		     This option has to	be present and is always understood by
		     the encoding.

		     For immediate mode	the argument value specifies the oper-
		     ation to use.  For	an attached encoding it	specifies  the
		     operation	to use for writing. Reading will automatically
		     use the reverse operation.	 See section IMMEDIATE	versus
		     ATTACHED for explanations of these	two terms.

		     Beyond the	argument values	listed above all unique	abbre-
		     viations are recognized too.

		     Encode converts from arbitrary (most likely binary)  data
		     into  the	described  representation, decode does the re-
		     verse .

	      -attach channel
		     The presence/absence of this option determines  the  main
		     operation mode of the transformation.

		     If	 present  the  transformation will be stacked onto the
		     channel whose handle was given to the option and  run  in
		     attached  mode. More about	this in	section	IMMEDIATE ver-
		     sus ATTACHED.

		     If	the option is absent the transformation	is used	in im-
		     mediate mode and the options listed below are recognized.
		     More about	this in	section	IMMEDIATE versus ATTACHED.

	      -in channel
		     This options is legal if and only if  the	transformation
		     is	 used in immediate mode. It provides the handle	of the
		     channel the data to transform has to be read from.

		     If	the transformation is in immediate mode	and  this  op-
		     tion  is  absent the data to transform is expected	as the
		     last argument to the transformation.

	      -out channel
		     This options is legal if and only if  the	transformation
		     is	 used in immediate mode. It provides the handle	of the
		     channel the generated transformation  result  is  written

		     If	 the  transformation is	in immediate mode and this op-
		     tion is absent the	generated data is returned as the  re-
		     sult of the command itself.

       [1]    The encoding is equivalent to PGP's ASCII	armor and was also ac-
	      cepted as	one of the MIME	encodings for encapsulation of	binary
	      data.   See RFC 2045 (
	      for details and the specification	of this	encoding.

       [2]    The encoding buffers 2 bytes.

       The transformation distinguishes	between	two main  ways	of  using  it.
       These are the immediate and attached operation modes.

       For  the	 attached  mode	 the  option  -attach is used to associate the
       transformation with an existing channel.	During the  execution  of  the
       command	no transformation is performed,	instead	the channel is changed
       in such a way, that from	then on	all data written to or	read  from  it
       passes  through	the  transformation and	is modified by it according to
       the definition above.  This attachment can be revoked by	executing  the
       command unstack for the chosen channel. This is the only	way to do this
       at the Tcl level.

       In the second mode, which can be	detected by the	absence	of option -at-
       tach, the transformation	immediately takes data from either its comman-
       dline or	a channel, transforms it, and returns the result either	as re-
       sult  of	 the  command, or writes it into a channel.  The mode is named
       after the immediate nature of its execution.

       Where the data is taken from, and delivered  to,	 is  governed  by  the
       presence	 and  absence of the options -in and -out.  It should be noted
       that this ability to immediately	read from and/or write to a channel is
       an  historic  artifact  which  was introduced at	the beginning of Trf's
       life when Tcl version 7.6 was current as	this and earlier versions have
       trouble	to  deal with \0 characters embedded into either input or out-

       ascii85,	base64,	bin, hex, oct, otp_words, quoted-printable, trf-intro,

       ascii armor, base64, encoding, mime, pgp, rfc 2045, uuencode

       Copyright (c) 1996-2003,	Andreas	Kupries	<>

Trf transformer	commands	     2.1.3			     base64(n)


Want to link to this manual page? Use this URL:

home | help