ISHからbase64へ
カテゴリー:
誰もがお世話になっているメールへのファイル添付、簡単な操作で可能になっていますが昔は結構面倒なものでした。
メール本文に添付ファイルのデータを単純に結合するだけだといろいろな問題が発生します。
- バイナリファイルにはメール本文に使用できないコード(制御文字やビット7が立っている文字等)や改行文字のように変換される可能性のあるコードが含まれている
- どこからどこまでが添付ファイルのデータかわからなくなる
- ファイル名等のメタデータをどうするのか
- 通信エラー等にどう対処するのか
そこで添付したいファイルを専用のソフトウェアでテキスト形式に変換(エンコード)し、これをメール本文(の末尾など)に挿入して送信します。
受信側では添付データ(のテキスト化された)部分を切り出して専用ソフトウェアで元に戻す(デコード)ことになります。
ファイルが大きすぎる(時代によりますが、私が始めた頃は50kBくらいでしょうか)場合には分割・結合の作業も必要でした。
この変換にはいくつかの方式が使われましたが、今ではほぼbase64に収束しています。