NAME¶
qprint - encode / decode file as RFC 1521 MIME Quoted-Printable
SYNOPSIS¶
qprint -d|
-e [
options ] [
infile [
outfile ] ]
DESCRIPTION¶
The MIME (Multipurpose Internet Mail Extensions) specification RFC 1521 and
successors) defines a mechanism for encoding text consisting primarily of
printable ASCII characters, but which may contain characters (for example,
accented letters in the ISO 8859 Latin-1 character set) which cannot be
encoded as 7-bit ASCII or are non-printable characters which may confuse mail
transfer agents.
qprint is a command line utility which encodes and decodes files in this
format. It can be used within a pipeline as an encoding or decoding filter,
and is most commonly used in this manner as part of an automated mail
processing system. With appropriate options,
qprint can encode pure
binary files, but it's a poor choice since it may inflate the size of the file
by as much as a factor of three. The Base64 MIME encoding is a better choice
for such data.
OPTIONS¶
- -b, --binary
- Treat the input (when encoding) or output (when decoding)
file as pure binary, and process end of line sequences as binary data.
Encoding and decoding a file with this option preserves the exact sequence
of bytes in the input, but does not perform the translation of end of line
sequences normally performed by Quoted-Printable encoding.
- --copyright
- Print program copyright information.
- -d, --decode
- Decodes the input, previously created by qprint, to
recover the original input file.
- -e, --encode
- Encodes the input into an output text file containing its
qprint encoding.
- -i, --ebcdic
- Encode ASCII characters for which no equivalent exists in
the EBCDIC character set. This renders files more portable when
transported to EBCDIC systems.
- -n, --noerrcheck
- Suppress error checking when decoding. By default, upon
encountering a non white space character which does not belong to the
qprint set, or discovering the input file is incorrectly padded to a
multiple of four characters, qprint issues an error message and
terminates processing with exit status 1. The -n option suppresses
even this rudimentary error checking; invalid characters are silently
ignored and the output truncated to the last three valid octets if the
input is incorrectly padded.
- -p ,--paranoid
- Every character in the input file will be encoded as an
escape sequence. You must also specify the -b or --binary
option if you wish end of line sequences to be escaped as well. This
option is a last resort when there's no other way to transmit the file,
but an encoding explicitly designed for binary data such as Base64 is a
much more economical choice.
- -u, --help
- Print how-to-call information.
- --version
- Print program version information.
EXIT STATUS¶
qprint returns status 0 if processing was completed without errors, 1 if
an I/O error occurred or errors were detected in decoding a file which
indicate it is incorrect or incomplete, and 2 if processing could not be
performed at all due, for example, to a nonexistent input file.
FILES¶
If no
infile is specified or
infile is a single ``-'',
qprint reads from standard input; if no
outfile is given, or
outfile is a single ``-'', output is sent to standard output. The input
and output are processed strictly serially; consequently
qprint may be
used in pipelines. The program can process files of any size supported by the
system containing text lines of arbitrary length.
BUGS¶
Encoding a file with a large percentage of non-ASCII characters may dramatically
increase its size. This is inherent in the design of Quoted-Printable
encoding.
Please report bugs and documentation errors to
bugs@fourmilab.ch.
SEE ALSO¶
base64(1),
uuencode(1), RFC1521
AUTHOR¶
This software is in the public domain. Permission to use, copy, modify, and
distribute this software and its documentation for any purpose and without fee
is hereby granted, without any conditions or restrictions. This software is
provided ``as is'' without express or implied warranty.
This is version 1.0 of
qprint. The current version of this program may be
downloaded from
http://www.fourmilab.ch/webtools/qprint.