<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="3" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[3]</anchor-end> 
Macintosh のファイルを ASCII の範囲の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">図形文字</anchor>で表現する方法。</p><ol><li>頭, リソース・フォーク, データ・フォークをこの順に並べる。</li><li>ランレングス圧縮する。</li><li>6ビットごとに64進数に変換する。</li></ol><section><h1>仕様書</h1><refs xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><ul xmlns="http://www.w3.org/1999/xhtml"><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="4" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[4]</anchor-end> <cite xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC 1741</anchor> - MIME Content Type for BinHex Encoded Files</cite>, <time>2021-01-24T12:01:16.000Z</time>, <time>2021-03-16T08:58:10.779Z</time> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://tools.ietf.org/html/rfc1741">https://tools.ietf.org/html/rfc1741</anchor-external></li></ul></refs></section><section><h1>ランレングス圧縮</h1><p>同じオクテット値が3つ以上続く時に、 「(オクテット値) 0x90 (オクテット数)」
とする。 0x90 自体を表現する時は、「0x90 0x00 0x90 (オクテット数)」
とする。</p></section><section><h1>64進数の字母</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="5" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[5]</anchor-end> 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">64進数</anchor>化は、 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">MIME</anchor> の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Base64</anchor> と同じように、6ビットごとに
区切って、それを文字で表現する。但し字母やその順序は全く異なる。</p><pre> !&quot;#$%&amp;'()*+,-0〜9@A〜Z[`a〜r (左から、0〜63)</pre></section><section><h1>識別符みたいなもの</h1><p>出来上がった文字列の最初と最後に「:」をつけて、64文字ずつ
改行を挟んでわける。で、一番最初に、
「(This file must be converted with BinHex 4.0)」っていう行を
つける。</p></section><section><h1>媒体型 application/mac-binhex40</h1><p>RFC 1741 で定義。 RFC 1741 には BinHex の説明も載ってる。</p><p>パラメーター name があって、値は mime.value。ファイル名。
だけど、これは定義された時代が古いからで、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Content-Disposition:領域</anchor>の filename パラメーターを
使うべきだと。 (See <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">MIME実体のファイル名</anchor>)</p><p>例:</p><ul><li>Content-Type: application/mac-binhex40; name=&quot;car.hqx&quot;</li></ul></section><section><h1>関連</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="2" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[2]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">MacMIME</anchor></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="6" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[6]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">符号化</anchor>:
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Base64</anchor>,
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">uuencode</anchor>,
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ISH</anchor></p></section><section><h1>メモ</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="1" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[1]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">内容転送符号化</anchor> : BinHex の仕事の内容は意味的には <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CTE</anchor> なので、 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">MIME</anchor> で使うときに <code class="MIME"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Content-Transfer-Encoding</anchor>: <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">x-binhex</anchor></code> を使う実装もあります。<weak xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">でも、大昔に標準化済みの <code xmlns="http://www.w3.org/1999/xhtml" class="MIME">application/mac-binhex40</code> が既にあって、これの方が (多分) よく実装されている以上、こっちを使うべきでしょう。<weak>ちなみに、 <code xmlns="http://www.w3.org/1999/xhtml" class="MIME"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Content-Type</anchor>: application/mac-binhex40</code> かつ CTE: <code xmlns="http://www.w3.org/1999/xhtml" class="MIME">x-binhex</code> としたらそれは誤りですよ。</weak></weak></p></section></body></html>