mimencode - Translate to and from mail-oriented encoding formats
(Same program also installed as "mmencode".)
mimencode[-u] [-b] [-q] [-p] [file name] [-o outputfile]
The mimencode program simply converts a byte stream into (or out of) one of the standard
mail encoding formats defined by MIME, the proposed standard for internet multimedia mail
formats. Such an encoding is necessary because binary data cannot be sent through the
mail. The encodings understood by mimencode are preferable to the use of the uuen-
code/uudecode programs, for use in mail, in several respects that were important to the
authors of MIME.
By default, mimencode reads standard input, and sends a "base64" encoded version of the
input to standard output.
The (really not necessary) "-b" option tells mimencode to use the "base64" encoding.
The "-q" option tells mimencode to use the "quoted-printable" encoding instead of base64.
The "-u" option tells mimencode to decode the standard input rather than encode it.
The "-p" option tells mimencode to translate decoded CRLF sequences into the local newline
convention during decoding and to do the reverse during encoding. This option is only
meaningful when -b (base64 encoding) is in effect.
If a file name argument is given, input is read from that file rather than from standard
The "-o" option, which must be followed by a file name, sends output to the named file
rather than to standard output.
Mimencode is intended to be a replacement for uuencode for mail and news use. The reason
is simple: uuencode doesn't work very well in a number of circumstances and ways. In
particular, uuencode uses characters that don't translate well across all mail gateways
(particularly ASCII <-> EBCDIC gateways). Also, uuencode is not standard -- there are
several variants floating around, encoding and decoding things in different and incompati-
ble ways, with no "standard" on which to base an implementation. Finally, uuencode does
not generally work well in a pipe, although some variants have been modified to do so.
Mimencode implements the encodings which were defined for MIME as uuencode replacements,
and should be considerably more robust for email use.
This program was originally distributed as "mmencode". That name turns out to conflict
with a program of the same name that is part of the Slate software from BBN, but totally
changing the name to mimencode would create other problems (notably with portability to
systems where the left half of file names is limited to 8 characters). Currently, it is
being distributed with links under BOTH names. The programs in the distribution that call
the program all call it as "mimencode", so the "mmencode" version may be deleted at sites
where it causes a problem. (The source files are still named "mmencode" rather than
Copyright (c) 1991 Bell Communications Research, Inc. (Bellcore)
Permission to use, copy, modify, and distribute this material for any purpose and without
fee is hereby granted, provided that the above copyright notice and this permission notice
appear in all copies, and that the name of Bellcore not be used in advertising or public-
ity pertaining to this material without the specific, prior written permission of an
authorized representative of Bellcore. BELLCORE MAKES NO REPRESENTATIONS ABOUT THE ACCU-
RACY OR SUITABILITY OF THIS MATERIAL FOR ANY PURPOSE. IT IS PROVIDED "AS IS", WITHOUT ANY
EXPRESS OR IMPLIED WARRANTIES.
Nathaniel S. Borenstein
Bellcore Prototype Release 1 MIMENCODE(1)