Macintoshファイルの他OSでの取扱いに関する誤解

 Macintosh(MacOS)のファイルを 他のOS(unix/DOS/Windows)やネットワーク上で取扱う問題に関連して、 微妙だけれども混乱の元になりそうな誤解が流布しているようです。 それについてまとめてみました。

どんな誤解があるか

誤解1に対して:「リソースフォーク」が全てではない

 Macintoshのファイルは 「リソースフォーク」と「データフォーク」から構成されており、 どんなOSでも使えるという建前で設計されているファイル形式 (テキスト・JPEG・GIF・TIFF・PNG・DVI・PDFなど)を使う場合は、 このうちの「データフォーク」のみを抽出せねばなりません。

 ここまでは良いのですが、この話を誤って演繹して、 Macintoshのファイルのうち「データフォーク」以外の部分を 全てひっくるめて「リソースフォーク」と呼んでしまっている例が 多々見受けられます。

 実は、ネットワークなどに流れている「Macintoshのファイル」には、 リソースフォークの他にも「Macintosh固有情報」と呼ぶべきものがあり、 この部分にも有益な情報が色々と含まれているのです。

 具体的には、「タイプ情報」「クリエータ情報」 「アイコン表示位置」「長いファイル名」など、 「ファイル管理情報」に分類される情報です。 これらは「リソースフォーク」ではありません。

詳しくは、例えばこちらの解説を御覧ください。

誤解2に対して:「Base64」と「AppleDouble」はカテゴリが違う

 「Base64」というのは 「バイナリファイルをエンコードする流儀」の1つで、 「AppleDouble」というのは 「MacintoshファイルをMacOS以外の世界に持ち出す流儀」の1つです。 詳しくは、 例えばこちらの解説を御覧ください。 「エンコード」という考え方については 「BinHex (HQX)」の解説で説明しています。

 「AppleDouble」を「Base64」以外の方法(「uuencode」「ISH」など)で エンコードすることもできますし、 「AppleDouble」以外の形(「MacBinary」「RAW DATA」など)を 「Base64」でエンコードすることもできます。 「AppleDouble」をエンコードせずに置いておくこともできます。 全く独立な概念です。

 「AppleDouble」と「Base64」を混同した理解が蔓延している背景には、 以下のような要因があると思われます。

古くは両方を一体化した規格が一般的であった

 「MacintoshファイルをMacOS以外の世界に持ち出す」場合、 古くは「BinHex (HQX)」という規格に基づく方式が一般的でした。 この規格は「MacOS以外の世界に持ち出す」流儀と「エンコードする」流儀を 一体化した規格です。 そのため、その後に普及した規格も、この「BinHex」と対比して語られる (例えば、メールソフトでの選択肢でも、組合せで提示される)ようになり、 双方の区別が解りにくくなっているようです。

歴史的理由による「いつもの相棒」が存在する

 現実問題として、「AppleDouble」は「Base64」でエンコードし、 「uuencode」では「RAW DATA(データフォークだけを抽出して、 他は捨て去ったもの)」をエンコードするのが一般的です。 エンコードする必要が無い通信方式(「ftp」など)では、 「MacBinary」を利用するのが一般的です。

 これは、「単なる習慣」以上のものではありません。 おそらくは、各組合せの規格が各々普及したタイミングが一致したことにより、 このような組合せが定着したものだと思われます。

 このような「いつもの組合せ」が事実上存在し、 メールソフトの選択肢などで、“「AppleDouble」と「Base64」の組合せ”を 省略して単に“AppleDouble”と呼んでしまう背景になっていることも、 誤解に拍車をかけているようです。


2004年6月14日初稿/2014年1月23日ホスト移転

戸田孝の雑学資料室へ戻る
Copyright © 2004 by TODA, Takashi