\section{\module{binhex} ---
         Encode and decode binhex4 files}

\declaremodule{standard}{binhex}
\modulesynopsis{Encode and decode files in binhex4 format.}


This module encodes and decodes files in binhex4 format, a format
allowing representation of Macintosh files in \ASCII{}. On the Macintosh,
both forks of a file and the finder information are encoded (or
decoded), on other platforms only the data fork is handled.

The \module{binhex} module defines the following functions:

\begin{funcdesc}{binhex}{input, output}
Convert a binary file with filename \var{input} to binhex file
\var{output}. The \var{output} parameter can either be a filename or a
file-like object (any object supporting a \method{write()} and
\method{close()} method).
\end{funcdesc}

\begin{funcdesc}{hexbin}{input\optional{, output}}
Decode a binhex file \var{input}. \var{input} may be a filename or a
file-like object supporting \method{read()} and \method{close()} methods.
The resulting file is written to a file named \var{output}, unless the
argument is omitted in which case the output filename is read from the
binhex file.
\end{funcdesc}


\begin{seealso}
  \seemodule{binascii}{support module containing \ASCII{}-to-binary
                       and binary-to-\ASCII{} conversions}
\end{seealso}


\subsection{Notes \label{binhex-notes}}

There is an alternative, more powerful interface to the coder and
decoder, see the source for details.

If you code or decode textfiles on non-Macintosh platforms they will
still use the Macintosh newline convention (carriage-return as end of
line).

As of this writing, \function{hexbin()} appears to not work in all
cases.
