BinHex 编码是 Macintosh 计算机上用可打印字符表示/传输二进制文件的一种编码方法。目前通用的 BinHex 4.0 的这种编码的文件一般以 .HQX 为后缀名。早期的 BinHex2.0 编码文件一般以 .HEX 为文件名后缀。 BinHex 4.0 是一种带有 CRC 校验的编码。在一些 email 程序中 (如使用最广泛的邮件程序之一 Eudora ),BinHex 编码是用于 Attach 二进制文件的方法之一。
但是有很多广泛使用的 email 程序不支持这种格式,如Microsoft OutLook Express 接收 Eudora 发来的以 BinHex 夹带的二进制文件时,只能分辨出夹带的文件,却不能正确解码。类似的情况需要将信件 Forward 到一个可以解析相应格式的邮件程序中或对邮件原文进行人工处理。
BinHex 编码是这个样子的:
(This file must be converted with BinHex 4.0)
:#dC*@&"A58iZ@NP3!("D59"`@NP3!!!!!%$)!!!!!'eC8%X$""3!!J!)!0e44b1
NrPJL%N!!!!"d!!!,!!!!4NPB8&G*6Lj&@%AX[AeJ8dA@1$c*6@l5I0`@U18lK)p
')DK8#Y3MHLKmPJ+B8T&LJ3"&D6*0@A#KKSp$NP[UeUl$2IS$S2Z[(ZL"&!LL
......
!!!!!!!3!)+bfS!!!!!"'59K39dP1,N9B43F!1J"dH(#V#,jTFELAU2ql`i-5eAr
iVS(5RqX,rF9@h&M(%R)a@8flJFd'0dpD@i$pVJ"FFBTf'@a3V1Sb8%X&"J!!!!!
"!!%!G`!!!$Y!!!!!!"+D!!!!:
它的开始行必定是“(This file must be converted with BinHex 4.0)”,整个数据块以冒号开始、并以冒号结尾。使用 BinHex 编码的邮件一般应该在信头中含有类似下面这样的说明(假设Attach文件名为filename.ext的话):
Content-Type: application/mac-binhex40; name="filename.ext"
Content-Disposition: attachment; filename="filename.ext"
将含有数据块的文件更名为 .HQX,即可双击该文件启动 Winzip 进行解码。 (http://www.winzp.com)。至此,我们不得不赞叹 winzip 在解码工作中的无以伦比的表现 ( 其支持的后缀名有:*.zip、 *.z、 *.gz、*.tz、*.taz、*.tgz、 *.lzh、*.arj、*.arc、*.tar、.exe(ziped)、 *.uu、 *.uue、 *.xxe、*.bhx、 *.b64、*.hqx )。遗憾的是 Winzip 对 BinHex 的解码并不总是成功的。在测试某一封 Eudora 发出的 BinHex 编码信件的时候,Winzip 不能解码。
一些软件支持BinHex解码,它们同时大多还支持一些其他编码。如 StuffIt Expander (ftp://ftp.aladdinsys.com/ 或找其他共享软件网点)、 Fastcode32 (http://www.freewarehome.com/utilities/encrypt.html) 等,一些网点 ( 如 http://helpdesk.uvic.ca/how-to/support/unix/hqx/unhqx.c)还提供了BinHex 解码的源程序。
BinHex 4.0 是由 Yves Lempereur 在 84-85 年开发的,这是目前最通用的版本,在 Mac/Unix/PC 上广泛运用。Yves 还开发了一个与 MacBinary ( Mac上 面的另一种编码) 兼容的 BinHex 5.0 版本。 BinHex 5.0 与 BinHex 4.0 不兼容,它们是两种截然不同的编码。 BinHex 比一般编码耗费更多的字节,并且跨平台的解码工具比其他编码少。