> macintosh | 经典 | 复古 <
// BinHex 4.0 - 经典 Macintosh 二进制文件编码格式
经典 Mac
为经典 Macintosh 系统和软件设计的标准编码格式。
资源分叉
在编码结果中保留 Mac 资源分叉(resource fork)以及文件元数据。
7 位安全
仅使用 ASCII 的编码方式,适用于电子邮件和早期 BBS 等只支持文本的系统。
>> 技术细节
BinHex 的工作方式:
BinHex 4.0 使用 64 个 ASCII 字符对二进制数据进行编码,理念上类似 Base64,但字符表不同。它包含 CRC 校验,并保留 Mac 文件的元数据。
示例:
"Hello" → :&9&QE'0S:
为什么使用 BinHex:
- >兼容经典 Mac 系统
- >保留资源分叉(resource fork)
- >编码文件元数据
- >复古计算 / Vintage computing
- >历史文件格式支持
>> 常见问题
什么是 BinHex 编码?
BinHex 4.0 是一种为经典 Macintosh 设计的二进制转文本编码格式,用于在仅支持文本的系统中安全传输文件,同时保留 Mac 特有的元数据。
为什么会出现 BinHex?
BinHex 的出现是为了解决带有资源分叉的 Mac 文件,在只支持 7 位 ASCII 文本的电子邮件和 BBS 系统中传输的问题。
现在还会用到 BinHex 吗?
在现代系统中 BinHex 已很少使用,但对于经典 Mac 爱好者、数字档案保存,以及处理老旧 Mac 软件与文件时,它依然非常有用。
BinHex 与 Base64 有什么不同?
BinHex 使用不同的 64 字符表,包含 CRC 校验,并且可以编码 Mac 特有的文件元数据,例如资源分叉和文件类型。
// 对比
| 名称 | ext | Marker |
|---|---|---|
| BinHex 4.0 | .hqx | (This file must be converted with BinHex 4.0) |
| uuencode | .uue | begin 644 file |
| Base64 (MIME) | .b64 | Content-Transfer-Encoding: base64 |
| yEnc | .yenc | =ybegin line=128 size=... |
// 代码示例
Header (This file must be converted with BinHex 4.0) Body : 6-bit characters, 64 columns per line : Alphabet !"#$%&'()*+,-012345689@ABCDEFGHIJKLMNPQRSTUVXYZ[`abcdefhijklmpqr RLE 0x90 marks a run (\x90 \x00 = literal 0x90) Checksum CRC-16 CCITT for header, data fork and resource fork
>> 更多问题
问:BinHex 是什么,以前用来做什么?
答:BinHex 4.0 是经典 Mac OS 的文本编码格式(1985 年,扩展名 .hqx)。它把含资源分支的二进制文件转换成 7 位 ASCII,以便通过电子邮件、Usenet 或 BBS 传输。
问:BinHex 与 Base64 有何不同?
答:两者都是每字符 6 位,但 BinHex 有自己的字母表,把数据分支、资源分支、文件名和类型放进同一数据流,用 RLE(标记 0x90)压缩重复,并以 CRC-16 校验。
问:现在还能打开 .hqx 文件吗?
答:可以。The Unarchiver、StuffIt Expander 等工具都能解开 .hqx。本工具在浏览器中编码和解码原始数据流,数据始终留在本地。