[戻る]
[サブページへ]
[Macフォーク処理の事例]
[rfc1740(jp)]
[MIMEへの過程]
<< まず、StuffIt解凍ソフトを入手しておく >>
−添付による交換の際の注意点:ファイル構造−
<メラー紹介 フリーか、シェアーウェアーか>
MLでのファイル添付交換を考えて、どのメーラーにするかを考える足掛りに、
利用して下さい。また、この図からお互いにどんな注意をすべきかわかります。
************************************************************************
<送信エンコードと受信対策>
−Base64, UUEncode, BinHex−
************************************************************************
#1 フリーのメーラー
補助ソフトで補わないと不備がでますが、 補助ソフトは揃っています。
* Outlook
受信デコード形式 :*Base64*
送信エンコード形式: Base64
補助デコードソフト: UMI(海) *BinHex*と*UUencode* 受信対策
バイナリーカッター: デコードソフトがカットするので必要ない。
Base64AppleSingleで受信した場合には必要
になるかもしれないが。
* Eudora-J
受信デコード形式 :*BinHex*
送信エンコード形式 : BinHex, Base64, UUEncode
補助デコードソフト : Mpack *Base64* 受信対策
uuUndo *UUEncode* 受信対策
(初期設定でType/Creatorマッピング)
Type/Creator対策 : PCCreatorChang
− 補助デコードソフトの使用方法 −
---------------------------------------------------------------------
エンコードのデコードに対応していないメーラーは、エンコード・テキスト
をそのまま表示します。テキスト化ですから、メールをテキスト保存します。
そしてデコードできるソフトに処理させる、というのが基本的方法です。
上記補助ソフトも、未対応の場合のメールをテキスト保存し、そのテキスト
ファイルをアプリケーションにドロップオンして、デコードします。
---------------------------------------------------------------------
#2 シェアーウェアーのメーラー
シェアーウェアーになると、符号化・復元は完璧です。
* Bechy! : MIME on(Windows用)
送信時
Base64コード化 -- Base64 x x
別のコード化 ---- x BinHex UUEncode
受信時
Base64, BinHex, UUEncode, HTML形式未対応
バイナリーカッター: デコードソフトがカットするので必要ない。
Base64AppleSingleで受信した場合には必要
になるかもしれないが。
* MUSASHI : MIME on(Mac用)
送信時
Base64コード化 -- AppleDouble AppleSingle データーフォークのみ
別のコード化 ---- x BinHex UUEncode
受信時
Base64, BinHex, UUEncode, HTML形式にも一応対応
Type/Creator対策 :PCCreatorChang
========================================================================
* Windowsファイルは、データー部分のみからなっています。
* AppleDoubleは、インターネットメールメッセージで使用するために登用
されたマッキントッシュ書式で、マッキントッシュコンピューター上でア
イコンやその他のマッキントッシュ特有の情報を含む全文書が受け取られ
ます。一方他のユーザーは AppleDouble符号化から分離されるので、デー
タフォーク(実際のデーター)を容易に分離できるからです。
============+===========================================================
Macファイル| ファイルエンコードとその構造
(8ビット) | (7ビットテキスト化:符号化)
============+===========================================================
コード形式 | I群 II群 III群
| (Header+Data fork) バイト連続体 (Data fork)
============+===========================================================
MacBinary | BASE64AppleDouble BASE64AppleSingle BASE64デタフォーク
(二部分) | (二部分の分離) (MacBinaryと同様) (一部分のみ)
+-----------------------------------------------------------
| x BinHex UUEncode
============+===========================================================
もとの | 二つのファイル 一つのファイル データフォーク
ファイル | でコード化 でコード化 のみのコード化
|
+8888888+ | +7777777+ +7777777+
| | | | | | |
| jpgf | | | | | |
| JVWR | | | | | |
| | | | | | |
+-------+ | +7777777+ | |
| | | +7777777+ | | +7777777+
| | | | | | | | |
| | | | | | | | |
| | | | | +-------+ | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
+8888888+ | +7777777+ +7777777+ +7777777+
gazou |
|
============+===========================================================
[#^]
Mac Windows
(MacBinary)
(二つの部分) (一つだけ)
+++++++++
| |
| jpgf | <-- リソースフォーク <----------- なし
| JVWR | 128 K (.jpgがその役目)
| |
+=======+ +++++++++
| | | |
| | | |
| | <-- データーフォーク | | <------------ データー
| | | |
| | | |
| | | |
| | | |
| | | |
+++++++++ +++++++++
gazou gazou.jpg
(拡張子)
リソースフォークの内容は、
jpgf : jpgファイル
JVWR : アプリケーションJPEGView
Macでは、ファイル名には拡張子はなくて、リソースフォークに情報が記載されてい ます。一方、Windowsでは「アプリケーションとの関係付け」のために拡張子が必要 です。Macのファイル名に gazou.jpgとしてもいいのですが、別に役に立つわけでは ありません。
Macから拡張子のない画像ファイル(gazou)を受け取った場合、Windows側では拡張子 を付け(gazou.jpg)ないと、アプリケーションでファイルがひらけません。一方 Windowsでは拡張子はつけてもタイプ/クリエーターは付けませんし、その拡張子は Macでは情報になりませんので、タイプ/クリエーターを付けなければクリックで ファイルはひらけません(アプリケーションから開くことはできます)。
--------------------------------------------------------------------------
[rfc 1740][翻訳]からの引用
マッキントッシュファイルは二つの部分から構成され、フォークと言われます:
データフォーク :ファイルにある実際のデータ。データフォークは、非マッキ
ントッシュコンピューターシステム上で、マッキントッシュ
ファイルの意味ある唯一の部分です。例えば、マッキントッ
シュのユーザーが、IBM-PCのユーザーにデータのファイルー
を送信したい場合、ただデーターフォークだけを送ります。
リソースフォーク:任意の属性/値(attribute/value)組の集まりをその内容と
していて、プログラム断片・アイコンのビットマップや助変
数値が含まれています。
マッキントッシュファイルの追加的な情報がファインダーによって隠されたファ
イルとして保存され、「デスクトップ・データーベース"Desktop Database"」と
いわれます。
一纏まりのデーターだけを取り扱う非マッキントッシュ・ファイルシステムでは
マッキントッシュファイルの色々な部分の保存上の複雑さがあるので、マッキン
トッシュファイルを、ネットワーク上で転送する前に、別の何らかの書式に変換
しておくのが普通です。
--------------------------------------------------------------------------
[#^]
−エンコードの際、リソースフォークの取り扱い方に違いがあります−
メールサーバーを安全に通過するために、7ビットテキスト化(エンコード)しなけ ればなりません。Macの場合は、リソース(ファイル管理情報部分)とデーター部分 がありその取り扱い方とエンコードの方式と二つの要素を考えなくてはなりませ ん。というのも、Windows側はデーター部分と「アプリケーションとの関係付け」 拡張子でファイル管理がなされているからです。
Mac側だけを考えると、リソースとデーターを一まとめにしておくのが確実ですが、 他機種との交換ではデーター部分だけが必要です。そこで、この取り扱い方で幾つ かのエンコード方式があります。Mac側が基礎知識をもって対応しなければならこと になります。Macintoshファイルフォーマットを分類すると以下のようになっていま す。
|
<Macintoshファイルフォーマット資料>
<Macintoshファイルフォーマット分類>
============+===========================================================
Macファイル| ファイルエンコードとその構造
(8ビット) | (7ビットテキスト化:符号化)
============+===========================================================
コード形式 | I群 II群 III群
| (Header+Data fork) バイト連続体 (Data fork)
============+===========================================================
MacBinary | BASE64AppleDouble BASE64AppleSingle BASE64デタフォーク
(二部分) | (二部分の分離) (MacBinaryと同様) (一部分のみ)
+-----------------------------------------------------------
| x BinHex UUEncode
============+===========================================================
もとの | 二つのファイル 一つのファイル データフォーク
ファイル | でコード化 でコード化 のみのコード化
|
+8888888+ | +7777777+ +7777777+
| | | | | | |
| jpgf | | | | | |
| JVWR | | | | | |
| | | | | | |
+-------+ | | | | |
| | | | | | | +7777777+
| | | | | | | | |
| | | +7777777+ | | | |
| | | +7777777+ +-------+ | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
+8888888+ | +7777777+ +7777777+ +7777777+
gazou |
|
============+===========================================================
|
* Macintoshのインターネット用ファイルフォーマット入門から引用: by Adam C. Engst(翻訳:西村 尚 ) AppleSingle-- MacBinaryと同様に、AppleSingleは8ビットバイナリパッケージ 用フォーマットである。ほとんどの人は、Eudoraまたは Emailerの添付書類の 変換方式のポップアップメニューでしか AppleSingleのことを目にしたことは なく、Eudoraのバルーンヘルプの説明はよくできているが、詳細を欠いている。 AppleSingleとAppleDoubleは Apple版の Unixである A/UXの時代に開発された。 A/UXは 2フォークの Macintoshファイルをサポートしなかったので、Appleは A/UXとMac OS間でファイルを共有するための方法が必要だった。 MacBinaryは 明白な選択だったが、MacBinary はファイル内に最初にデータフォークを格納 するので、A/UX からMacBinaryファイルをその場で編集しようにもできなかった。 そこで AppleはMacBinary ファイルに格納されるフォークの順序を逆にして (これで毎回リソースフォークを動かすことなくデータを簡単にファイルに追 加したり削除したりできた)、将来の拡張に備えていくつかの(使われること のなかった)オプションを追加し、これを AppleSingleと呼称した。
* rfc 1740から引用: 二つの型が使われます [APPL90]: AppleSingle :一つのバイト連続体として、マッキントッシュファイルを符号化 するアップルの標準書式。 AppleDouble :データフォークがAppleDouble符号化でマッキントッシュ特有の部 分から分離されている以外は、AppleSingleと同じ。 AppleDoubleは、インターネットメールメッセージで使用するために登用されたマ ッキントッシュ書式で、マッキントッシュコンピューター上でアイコンやその他 のマッキントッシュ特有の情報を含む全文書が受け取られます。一方他のユーザ ーはAppleDouble符号化から分離されるので、データフォーク(実際のデーター) を容易に分離できるからです。 An AppleDouble, version 2, ファイルは二つの部分に分かれています: Header : マッキントッシュ・リソースフォークとデスクトップ情報 Data fork: マッキントッシュ・データフォークを内容としています。
[#^]
−未対応メーラーでは、デコードソフトで補足する−
* MUSASHI : MIME on(Mac用メーラー シェアーウェイ)
送信時
Base64コード化 -- AppleDouble AppleSingle データーフォークのみ
別のコード化 ---- x BinHex UUEncode
受信時
Base64, BinHex, UUEncode
* Eudora-J : MIME on(Mac用メーラー フリー)
送信時
Base64コード化 -- AppleDouble x x
別のコード化 ---- x BinHex UUEncode
受信時
BinHexのみ(Base64にMpack、UUEncodeにUUdecodeやUULiteを用意)
(MpackとuuUndo 1.0は、フリー・ウェアーです。)
エンコード・テキストの例:保存後漢字コードShift-JIS、改行をOsに合わせる。
----------------------------------------------------------------------
エンコードのデコードに対応していないメーラーは、エンコード・テキストを
そのまま表示します。テキスト化ですから、メールをテキスト保存します。そ
してデコードできるソフトに処理させる、というのが基本的方法です。
[Mpackによるデコード手順]
----------------------------------------------------------------------
<まず、[StuffIt]を入手しておく。>
* Bechy! : MIME on(Windows用メーラー シェアーウェイ) 送信時 Base64コード化 -- Base64 x x 別のコード化 ---- x BinHex UUEncode 受信時 Base64, BinHex, UUEncode |
[#^]
Windowsからは、データー部分のみでマックに必要なヘッダーは付いてきません。
Type: '????' Creator: '????'
PCCreatorChangerやT.C.Changeなどの出番で、
ベクターサイトの[Download /mac/util/file/type/]から入手します。
[PCCreatorChangの例]をあげておきます。
Windows側でも、ファイルがオープンできない場合マックバイナリーのヘッダーと
リソースフォークを削除するMacBinaryCouteauなどを使用します。
[バイナリーカッター・ソフト]
[#^]
Mac : CR Windows : CR+LF Unix : LF パソコン :Shift-JIS その他で :iso-2022-jp(JIS), EUC-J, Shift-JIS
変換ソフトやエディターにその機能があるものがあります(Jeditなど)。
[#^]
複数のファイルを一つにまとめ(アーカイブ:書庫)さらに圧縮して容量を小さ くするためのソフトが、圧縮アーカーイブ・ソフトです。エンコード(符号化) とは別の目的です。で、アーカイブ・ファイルは8ビットファイルですので、メー ルに添付する場合は、エンコード化されます。このエンコード化はメーラーが引 き受けます。
異種機種間でも共通に使用できるもので、フリーのアーカイブソフトを使用する のが交換上便利で、HLAが最適です。でも、思わぬアーカイブ形式で送られてくる こともありますので、対策はできるだけ講じておくことも大切です。
メーラーがエンコードするのは、アーカイブ化されたものでだけです。そこで、 アーカイブの中味を作成する段階から色々と工夫がなされています。
マニュアルからの引用: ------------------------------------------------------------------ A−1.MacBinaryについて MacBinaryは、書庫に格納するファイルのtypeを指定するものです。 MacBinaryは、ファイルの先頭に128byteのヘッダがつきますが Data ForkとResource Forkの両方を保存して書庫に格納します。 普段はこちらを使っていただけば問題ないと思います。但し、 ファイルの先頭にヘッダがつきますので、PCやUNIX版等のLHAと データを交換する場合は注意が必要です。 Normal typeはMacBinaryの様にファイルの先頭にヘッダをつけません。 その代りData ForkまたはResource Forkのどちらかのデータしか書庫に 格納しません。ファイルにData Fork、Resource Forkのどちらか 一方しか存在しない場合にはそれぞれのデータが格納されます。 また、ファイルに両方のForkが存在する場合にはData Forkのデータが 書庫に格納されます。 ------------------------------------------------------------------
[MacLHA]:MacBinaryを外し改行も変更して、圧縮アーカイブが作れます。ファイル追加の前にメニューの表示からMacBinaryを外すかどうかを操作します。
しかし、以下のソフトは用意しておきます。
マックバイナリ削除 MacBinaryCouteau マックバイナリーのヘッダーとリソースフォークを削除します。 --------------------------------------------------------------- ●Windows98 Windows95 ●フリーソフト ●汎用 ●小松敏郎マッキントッシュで制作されたファイルを受け取って、Windowsのアプ リケーションで、ファイルが開けなかったり、ゴミが表示されたりする ことがあると思います。これは、マックのファイルがデータフォークとリソースフォークというように二層に分かれた特別な構造しているので、それを同一ファイルで保持するためマックバイナリという形式にしているからです。しかし、 多くの場合、他のプラットフォーム で使えるのはデータフォークだけです。先頭のヘッダー128バイトとリソースフォークを削除してデータフォークだけを取り出すのが本プログラムです。
MacLHAでMacBinaryを外すことやBinaryCutterで処理したアーカイブ でアーカイブ内のファイルもRAW DATAになり、Windowsでも容易に見 えるものと思いました。そのためのソフトだと思いました。
--------------------------------------------------------
Mac Windows
+==========+ +----------+
| | | |
| ################## |
| | | |
+==========+ +----------+
#はメーラーでここからの送信データーは、直接相手のOs環境
に届きます。前処理は、その*環境上*で行い*保存*されます。
--------------------------------------------------------
Macから、BASE64データーフォークのメーラー設定でファイルを送信 するとリソースのないファイルは直接Windows環境に届きOsはリソー スを付けることをしない環境なので、送信時のファイル形式がその ままあり、表示もWindows側で処理する必要もなく表示できます。
Mac上でBinaryCutterで処理すると、genericのアイコンがあります。 これはリソースフォークで、中味がgenericなだけなのです。操作がMac 上に保存されるからにはそうなるのでしょう。すぐ、送信してWindows環境 におくる場合とは多少異なった状況です。Windows側では、アーカイブ内の ファイルはカッターが必要だとの連絡をうけました。bcutter.txtTEXTdosaが 付いていきます。これは表示でき、本来のプログラム言語であるリソース部分 をテキストに置き換えているのでしょう。カッターの目的は達しているわけ です。

だから、mac上で前処理しても何らかのヘッダー部分が付きます(リソースフォー クがないか些細な(trivial)文書)。メーラー段階で処理し相手に直接送信する (.Ihzはリソースがなく送れます)のは理屈通りで問題ありません。
rfc 1740 から
マッキントッシュ文書は必ずしも特有な書式で送信される必要はありませ ん。よく知られてMIMEタイプやリソースフォークがないか些細な(trivial) 文書は通常のMIME体部分として、AppleSingleもしくはAppleDoubleを使わな くても、送信できます。
MacではT.C.Change、WindowsではBinaryCutterがどうしても必要な ようです。勿論、メーラーによっては別にデコードソフトや圧縮解 凍ソフトも必要ですが。
[#^]
[ヤギ先生のファイル添付基礎講座]から:この人たちにはこの方法で送ろう
贈り物の基本は、相手を思いやることだ。添付ファイルだって同じ。せっかく送っ たデータも相手が見られない形だったら、何の意味もない。
気にすることは、相手が使っているマシン(OS)とメールソフトだ。相手のマシン が持っているツールで解凍できる圧縮形式を選ばないといけない。エンコード形式 はMIME(Base64)でほとんど問題はないのだけれど、相手がMacintoshユーザーの場合 、もしメーラーにEudora-Jを使っているとMIMEをデコードできないので、BinHexにし ておいたほうが無難だ。ただ、BinHexへのエンコードができないメーラーもある。そ の場合は、相手にフリーウェアのMPackを使ってもらうことになる。
[#^]
エンコード機能をもったメーラーから入った人は、応用がききません。 もともとメーラーはテキストを転送するだけの機能でした。今も転送 する内容はテキストです。エンコードは別のソフトでして、そのテキ ストを本文にコピーしてデーターをやり取りしていました。
現在メーラーはエンコード機能をもっていますが、時にエンコード テキストのままで受信することがあります(基本的知識がないため)。
その場合は、昔に戻って別のエンコード/デコード用ソフトを使用し なければ、メーラーではなんともできません。現在は個々の別のソフト ではなく、展開については[ stuffit]がその役 割を担っています。デコードに限局すれば、Decode(Mac)が[ info-mac/cmp/]からとWincode(windows)が [ファイル変換]から入手できます。 この間の事情(通史:brief history)を知っているとすぐわかります。 ハウツウだけでなく、通史と基礎知識が非常に大切です。
基礎知識があれば対応はできるのですが、一定の共通約束をしておくことも大切です。対応に使うソフトもできる限りフリーウェアーを使うこともポイントかもしれません。
MacとWindowsユーザーに対応しなくてはならない立場です。両機種のファイル構造や操作について基本的なことを理解しておかないと、質問に的確に応じられません。共通ルール作成にも基本的な知識が必要です。
<送信エンコードと受信対策>
−Base64, UUEncode, BinHex−
* Outlook
受信デコード形式 :*Base64*
送信エンコード形式: Base64, UUEncode
補助デコードソフト: UMI(海) *BinHex*と*UUencode*受信対策
バイナリーカッター: デコードソフトがカットするので必要ない。
Base64AppleSingleで受信した場合には必要になるか
もしれないが。
* Eudora-J
受信デコード形式 :*BinHex*
送信エンコード形式: BinHex, Base64, UUEncode
補助デコードソフト: Mpack *Base64* 受信対策
uuUndo *UUEncode* 受信対策
(初期設定でType/Creatorマッピング)
Type/Creator対策 :PCCreatorChang
* 補助ソフトの使用方法
----------------------------------------------------------------------
エンコードのデコードに対応していないメーラーは、エンコード・テキストを
そのまま表示します。テキスト化ですから、メールをテキスト保存します。そ
してデコードできるソフトに処理させる、というのが基本的方法です。
----------------------------------------------------------------------
上記補助ソフトも、未対応の場合のメールをテキスト保存し、そのテキストフ
ァイルをアプリケーションにドロップオンして、デコードします。
* ファイルは、8ビット:
ファイル アーカイブ・ファイル
(.txt .jpg) (.lzh)
+88888888888+ +888888888888888888888888888+
8 8 8 +88888+ +88888+ +88888+ 8
8-----------8 8 8 8 8 8 8 8 8
8 8 8 8-----8 8-----8 8-----8 8
8 8 8 8 8 8 8 8 8 8
8 8 8 8 8 8 8 8 8 8
8 8 8 8 8 8 8 8 8 8
8 8 8 +88888+ +88888+ +88888+ 8
+88888888888+ +888888888888888888888888888+
-------------------------------------------------------
* 8ビットのファイルを7ビットのテキストに:エンコード:
エンコード・ファイル エンコード・アーカイブファイル
(.base64 .uue .hqx) (.base64 .uue .hqx)
+77777777777+ +7777777777777777777777777777+
7 7 7 +77777+ +77777+ +77777+ 7
7-----------7 7 7 7 7 7 7 7 7
7 7 7 7-----7 7-----7 7-----7 7
7 7 7 7 7 7 7 7 7 7
7 7 7 7 7 7 7 7 7 7
7 7 7 7 7 7 7 7 7 7
7 7 7 +77777+ +77777+ +77777+ 7
+77777777777+ +7777777777777777777777777777+
[#^]