■電子メールの添付ファイルはテキスト変換でサイズが大きくなる

 電子メールに添付される画像などのバイナリーデータは6ビット毎にASCIIコードに変換されて送付されます。

 よく使用されるMIMEのBase64においては、
 ・元データをビット列にして6ビット毎に区切る。
 ・6ビット毎に予め決められたASCIIコードの文字に置き換える。
   6ビットでは64種類の文字が必要であるが、
   ・A-Zの26文字
   ・a-zの26文字
   ・0-9の10文字
   ・+、−の2文字
   の計64文字を使用する。
 ・テキストデータは76 文字毎に改行(CR+LF)コードを付加して区切る。

 この結果、バイナリーデータは、

  8/6 x 78/76 ≒ 1.368倍

のテキストデータに変換され、大幅にサイズがアップします。

 例えば、3.30 MB (3,470,975 バイト)のバイナリーデータは、
  3.30 x 1.368 ≒ 4.5 MB
のテキストデータに変換されて送付されます。

 実際のメールでは、これにヘッダー(約1kB程度?)やメール本文が加わります。

 メール送信時には上記のような送付データ量の増大に注意が必要です。

● 実例紹介

 簡単なメール本文に、3,470,975バイトの画像データ等を添付したところ、全体のサイズは
  4,749,755 バイト
でした(1.36842倍)。
ホーム