What is Binhex & Where To Obtain It
ftp://ftp.bio.indiana.edu/util/mac/binhex.macbin
ftp://ftp.cc.utexas.edu/depts/AI_ATTIC/HelpDownloading/MacCompactors/BinHex/
Why Binhex
The basic idea behind Binhex is to translate a binary representation of data -- which could be an application program, graphical image, sound, and so on -- into an encrypted text representation of that file.
There are two reasons for doing this:
Many mail programs used on the Internet cannot handle binary transmissions. They were designed for use with text data. So, an application is "binhexed" and included as the text component of the message.
Many mail programs and gateways have size limitations, often less than 50K, and it is sometimes necessary to use an editor to split or combine such files. Since mail header information makes the automatic joining of files difficult; Binhex allows common text editors to be used to join and manipulate such files.
How can you tell if it's a Binhex file
Binhex 4.0 files have a suffix of ".hqx". Binhex 2.0 files have a
suffix of ".hex". Binhex 4.0 has been out since 1985, and it is very
rare to see any ".hex" files anymore.
A Binhex file can be identified by the first line of the file:
(This file must be converted with Binhex 4.0)
This line is followed by one blank line, followed by the start of the data:
:%@0bBA0SG(0d,Qe`Cbdi0$Bi!%e348GY69"(!*!$",!!N!92!J!!!E-2!,35rrr
The data block begins and ends with a colon.
What are the versions of Binhex
Both versions of Binhex are freeware.
Binhex 4.0 simply converts files into Binhex encoded files and back to the file format it was before.
Binhex 5.0 is a bit more complicated because it deals with "MacBinary"
documents. It does not deal with Binhex 4.0-encoded files.
What is a MacBinary document
Macintosh files have two components, a data fork and a resource fork. In addition, they have header information specific to the file system, plus additional information which is stored in the Desktop database. Binhex 4.0 documents take all of this into account, when transferring data from system to system.
But suppose you wish to upload a file to a non-Macintosh computer?
Binhex files tend to be larger than the equivalent Macintosh file. In
addition, when you manipulate them, you have to go through the
encryption and decryption process on each end (upload and download)
which can be time consuming, especially if you download many files. The
solution is to originally upload the file as a "MacBinary" file, it
would be stored online as a simple binary file.
Once it is downloaded, if your communications software supports
MacBinary, the file would automatically be re-assembled into a Macintosh
file or application. However, if you did not have this kind of
communications program -- for example, you download the file to a PC,
and then transfer the file to a Macintosh using PC Exchange -- you will
have a generic binary document which SimpleText may try to open and
produce nonsense.
Binhex 5.0 is intended to address this issue. It converts binary
documents back into Macintosh applications or files. It does not
translate Binhex 4.0 files. There is, therefore, no advantage to using
Binhex 5.0 unless you are facing this unique transfer problem.
Since most online services and communications software will
automatically perform MacBinary transmissions (or at least allow the
user to select that as an option), it is not generally not necessary to
use Binhex 5.0.
UUencode and UUdecode
UUencode and UUdecode were derived in the UNIX environment, and
perform a similar function to Binhex 4.0 encryption; they convert raw
binary into an alternate text representation. This format is generally
not suitable for transferring Macintosh applications, because it does
not address differences between resource and data forks, or Desktop
issues. In effect, you will only be dealing with information in the data
fork.
UUencode and UUdecode are, however, widely used on both UNIX and PC
systems, and they are standards. It is likely a user will deal with this
format to process data which only has a data fork.