Dec 052017
Convert binary files to/from text for ascii transmission.
File BAAB.ZIP from The Programmer’s Corner in
Category Word Processors
Convert binary files to/from text for ascii transmission.
File Name File Size Zip Size Zip Type
BAAB.DOC 6873 2830 deflated
BAAB.EXE 1952 809 deflated

Download File BAAB.ZIP Here

Contents of the BAAB.DOC file

B A A B(tm) D O C U M E N T A T I O N

Copyright (C) 1987 Ronald Gans and Ronald Gans Software Company

By Ronald Gans
350 West 55th Street
New York, New York 10019
(212) 957-8361

W H A T I S B A A B ?

BAAB(tm).EXE is useful for converting non-Ascii files to Ascii so they
can be (1) typed to the screen, (2) transmitted over the phone lines
(or other dedicated lines) via Ascii transfer. Some communications
programs do not support Xmodem or other binary transfer protocols;
also, some people are unfamiliar with how to use these protocols even
when they are available. BAAB(tm) is useful in these situations. If
it is being used in communications, BOTH SIDES MUST HAVE IT.

BAAB(tm) stands for Binary to Ascii/Ascii to Binary. What BAAB(tm)
does is convert everything in a file which is not printable Ascii (20h
to 7Eh) to printable Ascii--that is, it creates an ascii image of a
binary file. The screen-printable Ascii characters are the space, the
numbers 0-9, the upper and lower case letters of the alphabet, and the
punctuation marks (comma, period, etc.), along with the Carriage
Return, Line Feed, and Tab. They exclude foreign language symbols,
graphics, and some other symbols. Many of these characters have
specific meanings when used with communicationsd programs, but do not
have these meanings in other environments (such as word processing
programs). Thus, when these symbols are transmitted over the phone
lines (using an Ascii transfer protocol), they might give unwanted
results. BAAB(tm) eliminates this problem by converting these non-
printable-Ascii values to printable values (their ascii image),
preceded by a special toggle character (7Fh). BAAB(tm) will not alter
printable Ascii values but will instead pass them through to the


BAAB(tm) is easy to use. Say, for instance, you have a file which you
created with WordPerfect; call this file MYFILE. You want to send
this file to a friend or co-worker but only have Ascii transfer
methods available. Both you and your friend have BAAB(tm). At the
command line, you type:


and then press the return (or enter) key. BAAB(tm) will then respond
by asking you for the source file name. You type in MYFILE. Then
BAAB(tm) asks you for the target file name; you make up some name
here, say, MYFILE.1. Then BAAB(tm) will ask you if this is Binary or
Ascii, and here you must enter either a 'B' or an 'A' (either upper or
lower case will do). If you enter a return at this point, the program
will stop. If you enter anything else, it will keep asking you for a
'B' or an 'A'. What do they mean? 'B' means that you are going FROM a
binary file; 'A' means you are going FROM an Ascii file. Your
WordPerfect file is binary. Thus you would enter a 'B' at this point,
and BAAB(tm) would create a file, MYFILE.1, which is the binary ascii
equivalent of your original file, MYFILE. This file, MYFILE.1, can be
transferred via modem with Ascii transfer protocol. At the other end,
your friend types BAAB (assuming your friend has BAAB already); for
the source file, he types MYFILE.1, and for the target, he makes up a
new name; then for Binary/Ascii he responds with 'A', because he is
converting from the Ascii file, MYFILE.1, to its binary equivalent.
That's all there is to it.

A Couple of Final Notes

It is important to understand the somewhat artificial distinction I
have made here between "Ascii" and "binary" files. Ascii files are
files composed only of screen-printable values (as mentioned above).
Binary files include Ascii files (Ascii files are a subset of Binary
files), but in binary files, bytes can take any value from 0 to 255
(or 0 to 0FFh in hexadecimal). You can easily notice this difference
in WordStar files, which look "normal" when viewed with WordStar, but
when you trying typing the file (to the screen using the DOS type
command), you get greek letters, and other kinds of symbols. WordStar
creates binary files. So does Multimate and WordPerfect. In fact,
most word processors create binary files. You can view the codes
these programs create by using BAAB to create an ascii "image" of your
binary files. Also if you are knowledgable about the codes these
programs use, you could, for instance, edit them using other word
processors. As an example, boldface is turned on in WordPerfect, by a
byte value of 94 (in hexadecimal); it is turned off by a byte of value
95 (again, in hexadecimal). If you are examining the ascii image of a
WordPerfect file and come across these values, you know the characters
in between them will be in bold face. If you want to get rid of this
bold face, you can edit these two ascii values out using another word
processor. Admittedly, it would be far easier to use WordPerfect
itself to do this job, but if WordPerfect were unavailable, you could
"make do" without it. If you do such an operation, be sure to delete
BAAB(tm)'s special toggle, 7Fh which MUST preceed each two character
ascii image sequence. Thus, the 94 in hexadecimal mentioned above is
actual composed of three bytes, a 7Fh, BAAB(tm)'s toggle, Ascii '9'
and Ascii '4'. When BAAB(tm) converts this back to the binary file,
these three characters become one byte, 94h. Thus, if you want to
delete or add a binary Ascii value, you must first add 7Fh (in order
for it to be used with BAAB(tm)).

If you do edit ascii image files, do so with care because some of the
values have special significance to word processors, and alteration of
a single one might cause the word processor program to crash,
necessitating a cold boot of your computer. If you restrict such
editing to the printing features, like boldface, underlining, and the
like, then it is unlikely you would cause any problems.

BAAB(tm) is an unpublished and copyrighted program, and is the property
of Ronald Gans and Ronald Gans Software. This program may not be sold
but may be distributed freely. No one may charge for the use of this
program. No one may reverse engineer or decompile or disassemble
BAAB.EXE. If this program is copied, the two files, BAAB.EXE and
BAAB.DOC MUST be copied together and may not be separated. These two
files, BAAB.EXE and BAAB.DOC may not be altered in any manner by anyone,
except by an ARCing program to form an .ARC file.

BAAB.EXE requires DOS 2.0 or above, and needs 64K of RAM. Be sure to
have sufficient disk space if you are BAABing a large binary file, as
the resultant file could be as much as 3 times as large.

 December 5, 2017  Add comments

Leave a Reply