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

  
 
  

home | help
BTOA(1) 		     General Commands Manual			 BTOA(1)

NAME
     btoa - encode/decode binary to printable ASCII

SYNOPSIS
     btoa [-adhor] [input filename] [output filename]

DESCRIPTION
     Btoa is a filter which reads binary bytes from the input file and generates
     printable	ASCII  characters on the output file. It attaches a header and a
     checksum to the archive. It can also reverse this, creating a  binary  file
     from the archive.

     Since  last version of btoa/atob, several new features have been added. The
     most obvious one is that atob has been integrated with btoa.  They are  now
     the  same	program which is called with different arguments. Another is the
     ability to repair damaged archives.

     The new version is compatible with the old version, that is, it  can  still
     encode and decode old btoa files.

     Btoa  has	an option to decode the archive, restoring the binary bytes.  It
     strips the input file until it finds a valid header, and continues decoding
     until the end mark is found. It recognices both old- and new-style headers,
     and can decode both. It is possible to leave out the destination name  when
     decoding  new-style archives, because the name is stored in the header. En-
     tering a name will override the autonaming function.

     It is possible to leave out the file names and redirect  stdin  and  stdout
     with  '<'	and  '>' to the desired files. This is to maintain compatibility
     with earlier versions of btoa.

     Btoa now adds a single byte checksum to each row in the archive.	When  an
     error  is	found,	diagnosis  automatically starts and produces a diagnosis
     file which can be used to	extract  the  damaged  part  from  an  errorfree
     archive.  The  extracted  part  can  then	be  used  to correct the damaged
     archive.  Btoa has options to perform the reparation automatically. This is
     especially useful when downloading data converted to text files, and  occa-
     sionally  finding	that  an archive file of considerable size turns is cor-
     rupted.

FEATURES
     Btoa encodes 4 binary bytes into 5 characters, expanding the file	by  25%.
     As a special case 4 zeroes will be encoded as 'z' and 4 spaces as 'y'. This
     makes it possible to compress the archive a bit.

OPTIONS
     -h     Shows help on btoa.

     Switches to atob (decoding) mode.

     -o     Switches to old version of btoa.

     -d     Extracts  repair  file from diagnosis file. This assumes that an un-
	    damaged version of the archive and a file called

     Repairs the damaged archive. A file named 'btoa.rep' must	be  present  for
     this to work.

EXAMPLES
     Below  follows  a	description  of a normal repair session. Lines beginning
     with 'Local>' were typed on the computer to which the file was  downloaded.
     Accordingly,  lines  typed  on  the connected computer will begin with 'Re-
     mote>'. Sending a file to the other computer will	be  noted  as  'transmit
     file'.

     A	normal repairing procedure is as follows: Local> btoa -a file.btoa btoa:
     Bad checksum on line 2648.  btoa: Starting diagnosis.  btoa: Diagnosis out-
     put to 'btoa.dia'.  Local> transmit btoa.dia

     Remote> btoa -d file.btoa	btoa:  Repair  output  to  'btoa.rep'.	 Remote>
     transmit btoa.rep

     Local> btoa -a btoa.rep btoa: Repaired archive written to 'btoa.rdy'.

     You can now erase file.btoa and decode btoa.rdy using 'btoa -a btoa.rdy'.

AUTHORS
     Paul Rutter  Joe Orost  Stefan Parmark

KNOWN BUGS
     Btoa will not work properly unless the input is a true file or a redirected
     one.  This  is  because  file  positions are collected during diagnosis for
     later reference when producing the diagnosis file.  The bug is actually  in
     fseek() which only can reposition 'real' files.

     Send bug reports to d84sp@efd.lth.se (Stefan Parmark).

				21 February 1989			 BTOA(1)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=btoa&sektion=1&manpath=FreeBSD+Ports+15.1.quarterly>

home | help