FACTOID # 145: Three of the top ten countries for GDP per capita are island nations: Bermuda, Cayman Islands, and Iceland.
 
 Home   Encyclopedia   Statistics   Countries A-Z   Flags   Maps   Education   Forum   FAQ   About 
 
 
 
WHAT'S NEW
RELATED ARTICLES
People who viewed "Binhex" also viewed:
RECENT ARTICLES
More Recent Articles »
 

SEARCH ALL

FACTS & STATISTICS    Advanced view

Search encyclopedia, statistics and forums:

 

 

(* = Graphable)

 

 


Encyclopedia > Binhex

BinHex, short for "binary-to-hexadecimal", is an ASCII armoring system that was used on the Mac OS for sending binary files through E-mail. It was similar to uuencode, but combined both "forks" of the Mac file system together, along with extended file information. BinHexed files take up more space than the original files, but are far less likely to be corrupted in transit.


BinHex was originally written by Tim Mann for the TRS-80, as a stand-alone version of an encoding scheme originally built into a popular terminal emulator. BinHex files were typically given the file extension ".hex". BinHex was used for sending files via major online services such as CompuServe, which were not "8-bit clean" and required ASCII armoring to survive. CompuServe later addressed this problem in the mid-80s with the addition of 8-bit clean file transfer protocols, and solutions like BinHex stopped being used.


The file upload problem still existed on CompuServe when the Mac was first released in 1984. William Davis ported BinHex to the Mac using Microsoft BASIC in a simple version that could encode the data fork only. The rise in use of internet email coincides roughly with the release of the Macintosh, and Davis's version version was posted on the INFO-MAC mailing list by Joel Heller in June 1984. Several newer versions were published during 1984, resulting in BinHex 3 which could encode both forks.


Yves Lempereur, author of the first assembler for the Mac, MacASM, found that in order to upload his files to CompuServe he had to use BinHex. The BASIC version was very slow, so he ported it to assembler and released it as BinHex 1.0. The program was roughly a hundred times as fast as the BASIC version, and soon upgrade requests were flooding in.


The original BinHex was a fairly simple format, one that was not very effecient because it expanded every byte of input into two -- a 8-to-4 bit encoding. For BinHex 2.0, Lempereur used a new 6-to-8 encoding that improved file size by 50%, and also took the opportunity to add a new CRC error checking routine in place of the earlier checksum. The smaller files were incompatible with the older ones, so the extension became ".hcx", c for compact. Unfortunately the compact format also had its problems. The 6-bit encoding produced a number of characters that some foreign-language mail programs would convert into local versions, thereby destroying the file. In addition, the file metadata information was still place in the hcx file in plain text, and therefore could become corrupted in the same fashion.


In order to solve all of these problems, Lempereur released BinHex 4.0 in 1985, skipping 3.0 to avoid confusion with the now long-dead BASIC version. 4.0 carefully selected its character mappings to avoid ones that were translated by mail software, encoded all the information including the file information and protected everything with multiple CRCs. The resulting ".hqx" files were roughtly the same size of the .hcx's, but much more robust.


At about the time BinHex 4 was released, most online services started supporting robust 8-bit file transfer protocols such as Zmodem, and the need for ASCII armoring went away. This left a problem on the Mac however, as there was still the need to encode the two forks into one. A team effort among the Macintosh communications programmers resulted in MacBinary, which left the contents of the forks in their original format and added a simple header for combining them. MacBinary files were thus much smaller than BinHex, which expanded files by 50%. Lempereur released BinHex 5.0, almost identical to 4.0 with the exception that it used MacBinary to combine the forks before running the 8-to-6 encoding, but it saw little use, as he expected.


However on the internet email was still the primary method of passing files. At the time only a few people had access to the net, and it was an isolated community onto its own. Years later when he first got onto the 'net, Lempereur was surprised to find that BinHex 4.0 was still extremely popular. The same ends could be achieved by first using MacBinary or AppleSingle to combine the forks, and then using uuencode or Base64 on the resulting file, but none of these solutions ever became popular and BinHex 4.0 survived well into the late 1990s. Various and file archives of pre-Mac OS X software are still filled with BinHexed files.


A BinHex 4.0 file usually has a .hqx extension at the end of its name. Looking at the contents of a BinHex file, you will notice that it has a message on the first line identifying it as BinHexed, followed by many 64-character lines made up of seemingly random letters, numbers, and punctuation marks. Here is a sample of what BinHex actually looks like:

 (This file must be converted with BinHex 4.0) :$f*TEQKPH#jdCA0d,R0TG!"6594%8dP8)3#3"!&m!*!%EMa6593K!!%!!!&mFNa KG3,r!*!$&[rr$3d,BQPZD'9i,R4PFh3!RQ+!!"AV#J#3!i!!N!@QKUjrU!#3'[q 3"&4&@&483N)f!3#Xaj6bV-H8mJ!!!B3!N!0"!*!$[3#3!cR@iiY)!*!'[I%4!!J Fp$X%X3@J!mZE6!GRiKUi$HGKMf0U61S46%i1"AB!TI,fLl!d1X3RDDE8ALfTCbM 8UP9p4iUqY-0k4krHpk9XK@`rbj2Ti'U@5rGH@+[fr-i4T6-qXpfl26,k!H5$Nml TIkI'(l3GI4)f8mII&01CNEbC2LrNLBeaZ1HG@$G8!Z6"k)hh,q9p"r6FC*!!Se" (ic,Pd(4(b`pflKC`H1&JN5)GVX3mREdH55[l`%`Yhp%q092c`A(hPV)!83Dr&f4 $$L#I1aM-"VjqV-q$34KQq6$M$f8#,Zc,i),!(`*ZN!$K$rS!LA%3cL+dYi"@,K( Z"`#3!fKi!!!: 

External links

Prehistory of BinHex (http://www.tim-mann.org/binhex.html)

  Results from FactBites:
 
NodeWorks - Encyclopedia: BinHex (824 words)
BinHex was originally written by Tim Mann for the TRS-80, as a stand-alone version of an encoding scheme originally built into a popular terminal emulator.
BinHex was used for sending files via major online services such as CompuServe, which were not "8-bit clean" and required ASCII armoring to survive.
For BinHex 2.0, Lempereur used a new 6-to-8 encoding that improved file size by 50%, and also took the opportunity to add a new CRC error checking routine in place of the earlier checksum.
BinHex - a Whatis.com definition (216 words)
BinHex is a utility for converting (encoding) Macintosh files into files that will travel well on networks either as files or e-mail attachments.
Like Uuencode, BinHex encodes a file from its 8-bit binary or bit-stream representation into a 7-bit ASCII set of text characters.
BinHex specifically handles both resource and data forks in Macintosh files (which Uuencode doesn't).
  More results at FactBites »


 
 

COMMENTARY     


Share your thoughts, questions and commentary here
Your name
Your comments

Want to know more?
Search encyclopedia, statistics and forums:

 


Lesson Plans | Student Area | Student FAQ | Reviews | Press Releases |  Feeds | Contact
The Wikipedia article included on this page is licensed under the GFDL.
Images may be subject to relevant owners' copyright.
All other elements are (c) copyright NationMaster.com 2003-5. All Rights Reserved.
Usage implies agreement with terms, 1022, m