電子メールのファイルサイズが大きくなる理由(?)

f:id:sunrise683:20100709021510j:plain

もともとのお題はここ。
Why Is the Size of My Email Larger Than Its Attached Files?

13MBと3.6MBのファイル(合計で17MB)を添付したメールがどうして22MBになるのか?

もともとSMTPプロトコルでは、1文字を7bytesで表現するASCIIを使っていたけれど、それだと画像や音声データのやり取りが出来ない。そこでマルチバイト文字やバイナリをエンコードするBase64を使ったMIME(Multipurpose Internet Mail Extensions)が規格化された。

Base64はマルチバイト、バイナリを英数字で表現するエンコード方式なのだけれど、その過程で6bit毎に分割する処理がある。なので、17*1024*1024*8(= 142606336bits)の場合、17*1024*1024*8/6/1024/1024=約22MBになるということらしい。
Base64 - Wikipedia