メールでのやり取りに限らず、データのやり取りは苦労が多いでしょう。
ここでは、文字コード変換、バイナリ->テキスト変換、圧縮/伸長ソフト、アーカイバ等を紹介します。
括弧()内は、一般的に使われている拡張子を示しますが、別にインターネット関連規格できっちり決まっているものではありません。
様々な文字コードのテキストファイルのサンプルです。
JIS、EUC-JP、Shift_JISやマックバイナリ付き等がまとまっています。
行の区切りが異なるサンプルもあります。
先頭1ビットの落ちたサンプルもあります。手持ちの色々なソフトで表示して、果てしない文字化けの旅に出ましょう。
nkfは、ISO-2022-JP、EUC-JP、Shift_JISの日本語文字コードを相互に変換するツールです。
ESCの落ちたJISも修復出来ます。オリジナルはC言語のソースで公開されており、ほぼ全てのCコンパイラでコンパイル可能です。
バイナリファイルを2進数や16進数で表示したり編集するツールがあります。バイナリビューア、バイナリダンプ、16進エディタとか、色々な呼ばれ方をします。
文字化けの原因が判らないとき、これらのツールで徹底的に調べると判るかもしれません。
UNIXの場合、odというコマンドが有名です。
他のコンピュータでも色々なツールがあるようです。
(.uu or .uue)
UNIXで一般的に使われているツールです。
uuencodeでバイナリ-テキスト変換し、uudecodeで元に戻します。簡単な説明を[10]に書きました。
(.hqx)
MacOSで使われているバイナリ-テキスト変換ツールです。
簡単な説明を[10]に書きました。MacOS以外で使うときはデータフォークやリソースフォークの扱いに注意してください。
MIMEの決まりでは、ASCII以外のメールヘッダをASCIIに変換してしまう方法が2種類あります。
ISO-2022-JPの場合は"B" encodingを使うのが一般的です。説明は[8.2]を見てください。
latin1等の場合は"Q" encodingを使うのが一般的です。説明は[11]を見てください。
これらをもとに戻すには、上で紹介しているnkfが使えます。
MIMEの決まりでは、本文中の8ビットを7ビットに変換する方法が2種類あります。
base64は主にバイナリデータに使うものです。説明は[10.2.3]を見てください。
quoted-printableは主にlatin1等に使うものです。説明は[11]を見てください。
メールソフトにbase64やquoted-printableの機能が取り込まれている場合もありますが、ここで紹介するツールは手動で扱えます。Mpack/munpackは多くのコンピュータで動き、共通のソースも公開されています。
(.Z)
UNIXで一般的な圧縮ツールです。
一つのデータしか圧縮出来ないので、tarと組み合わせることが多いようです。この場合拡張子は.tar.ZになりますがDOS等では扱えないので.tazとすることがあります。
compressで作った.Zファイルはgzipでも伸長できるので、gzipを入手してください。
(.gz or .z)
UNIXでよく使われる圧縮ツールです。
昔は拡張子に小文字の.zを用いていましたが、compressの大文字の.Zと紛らわしいので、現在は.gzを用いるようです。一つのデータしか圧縮出来ないので、tarと組み合わせることが多いようです。この場合拡張子は.tar.gzになりますがDOS等では扱えないので.tgzとすることがあります。
compressで作った.Zファイルはgzipでも伸長
出来ます。なお、zipとgzipは別なので注意してください。
(.bz2)
最近、徐々に使われはじめている圧縮ツールです。
compressやgzipと同じように、一つのデータしか圧縮出来ないので、tarと組み合わせることが多いようです。
(.tar)
UNIXで一般的なアーカイバです。
複数のファイルを一つにまとめるだけであり、圧縮はしません。圧縮したい時はcompressやgzipと組み合わせて、.tar.Zや.tar.gzにします。拡張子が長いので、それぞれ.tazや.tgzと短縮する場合もあります。
GNU tarというツールの場合、compressやgzipを呼び出して、アーカイブと圧縮を両方行なう事が出来ます。
(.lzh or .lha)
日本国内でよく使われているアーカイバであり、同時に圧縮も出来ます。
同じLHAでも実は色々な形式があって、ヘッダ形式は1か2、圧縮形式はlh0かlh5が無難なようです。
.lhaという拡張子が使われたことがありますが、現在は.lzhが一般的なようです。
(.zip)
世界中でよく使われているアーカイバであり、同時に圧縮も出来ます。元々はDOS用のシェアウェアがオリジナルですが、Info-ZIP等のフリーの互換ソフトが多数あるので安心です。とても沢山のコンピュータをサポートしているし、ソースも公開されています。
なお、gzipとは別の形式なので注意しましょう。
(.sit)
MacOSで一般的なアーカイバであり、同時に圧縮も出来ます。
MacOS以外と送受信するときは、データフォークやリソースフォークの扱いに注意してください。
また、同じstuffitでも、1.5形式、3.0形式、5.0形式等、色々あるので注意してください。特にあちこちのftpサイトに置かれているmacutilは、古い形式のstuffitしか展開出来ないようです。
(.cpt)
MacOSで使われるアーカイバであり、同時に圧縮も出来ます。
MacOS以外と送受信するときは、データフォークやリソースフォークの扱いに注意してください。
(.bin)
MacOSのファイル形式は独自性が強いので、そのままネットワーク上で扱うのは難しいのです。
そこで、マックバイナリという方式に変換する場合があります。これは先頭に128バイトの情報が付き、その後にデータフォークが続きます。必要な場合には更にリソースフォークが続きます。
MacOS上では自動的に扱われる場合が多く、あまり気にならないかもしれませんが、他のマシンの場合はツールが必要でしょう。
WebページのFORMを使って送信されたメール等で使われている方式です。
特に正式な名称は付いていないようですが、URLエンコーディング、URL形式、FORM形式等と呼ばれるようです。
簡単な説明を[11.6.10]に書きました。
MIMEでは、ヘッダのパラメータに"B" encodingを使うのも"Q" encodingを使うのも禁止です。そこでRFC2231という文書で、パラメータ専用のエンコーディング法が考えられました。
簡単な説明を[8.2.3]に書きました。