Eメールでやり取りできるのはテキストのみ?


 今日はちょっとした小ネタを書きます。知っている人は当然知っている内容ですけど(^^;


 panheadさまのところやWamoさまのところで、1xWINのメールの添付ファイルの容量が150Kバイトだという話題が出ていました。
 そして、こちらの記事で、FOMAの添付ファイルの容量が100Kバイトだという話が出ています。100Kバイトに圧縮されたSVGAサイズの画像も出ていますね。割といい感じの画像じゃないかと思います。サイズと容量の割にはね。


 で、1xWINは150K、FOMAは100Kなら、1xWINはFOMAの1.5倍の容量のファイルを送れるの?という疑問が湧くと思います。でも実はそうじゃないんです。1xWINでも実は100K程度のファイルしか送れません。CDMA1x世代までの添付ファイル容量の制限が100Kバイトの端末の場合は実は60K程度のファイルしか送れないんです。
 その理由は簡単で、auの言う「添付ファイルの容量」はメールに添付されたあとの容量で、FOMAのそれはメールに添付される前の容量だからです。


 じゃあ、なぜその前と後の違いで容量に違いが出るのか?それがこのエントリのタイトルです。実はメールって、今でもテキストしかやり取りできないんです。そして、そこに秘密があります。
 じゃあ、実際に今僕たちが普通に行っている添付ファイルと言うのはいったいどうやっているのか?というと、エンコードしてテキストにして送っているんです。ここで言うテキストと言うのはASCIIコードで定義された文字のみを使う「狭義の」テキストです。技術的にはこれを「テキスト」と言います。今のメールシステムは実はこの「狭義のテキスト」しかやり取りできないように作られています。


 で、画像や音楽といった色々なデータはバイナリデータといわれるものですが、これを添付するときにはメールソフトが自動的に「テキスト」に変換すると言うことをやるわけです。これがエンコードですね。もちろん、受信したときはメールソフトが自動的にバイナリデータにもどしてくれます。これがデコード。
 ここでは今一般的にBASE64という方式が使われます。この方式は非常に汎用性が高いんですが、その分もとのバイナリデータの4/3倍程度の容量になってしまいます。つまり、元が100kなら、BASE64エンコードすると130〜140kになります。


 つまり、1xWINの「添付後150K」だと、実際に添付できるファイルのエンコード前のサイズは100K前後になってしまい、FOMAの「添付前100K」と殆ど変わらないというわけです。
 まあ、どっちにしろそれなりのクオリティの写真を送ろうとするとVGA程度のサイズが現実的だという面は変わりませんけれどね(^^;VGSは200Kですけど、それでも焼け石に水って感じです。


 まあそんな訳で、それぞれの数字上は1.5倍の開きがありますが、1xWINとFOMAで添付できるファイルのサイズには大して違いがありませんよ、っていう小ネタでした。もっとも、1xWINは受信も出来ますが、FOMAは受信は10kまでですけどね。
 そこんとこ何とかしましょう>NTTドコモさん。