月例発表会

Vol. 16(1999 年 4 月)

知的システムデザイン研究室

非 ASCII テキスト 対応メッセージヘッダの拡張

MIMEMIME;Message Header Extensions for Non-ASCII Text

坂田真弓 , 小林 繁（ 知的システムデザイン研究室）
Mayumi SAKATA , Shigeru KOBAYASHI（ Intelligent Systems Design Laboratory ）Abstract Recently Internet brings us various ways for communication. E-mail is partic-

ularly simple tools and can communicate quicker than a letter. But Asian includs us needs
using their language in E-mail. Besides now needs messages of image or voice. This paper,
reports the outline of message header extensions for non-ASCII text called "MIME" .

1 はじめに
現在，我々の周りではインターネットの普及により:様々な情報がやり取りされている．中でも電子メー
ルは手軽であり，手紙を郵送するよりも速いスピード でコミュニケーションを図ることが可能である．
電子メールは米国で発展してきたため，対象言語は英語であった．しかし ，このままでは我々を含むアジア圏の人々の要求に応えられない．さらに時代は画像・音声などに対応したメッセージを求めるようになってきている． これらの要求に応えるために

図 1: MIME とは考え出されたのが MIME という拡張規格である．最近，MIME は電子メールだけでなくブラウザや OS内のファイル管理に用いられていることもある．本3

考察では電子メールを例に挙げて，その概略と利用

MIME の概略

例，今後の課題について考察する．
MIME(Multipurpose
Internet Mail Exten2
sions，RFC 2045〜2049) とは、インターネット メー

2

ルで様々なデータ (ASCII 文字列以外の 2 バイト文以前の電子メールの転送方式

字コード・音声・画像動画等) を扱えるようにした規格であり，8 ビットデータを 7 ビット以下のデータに

前述のように初期の電子メールは英語のみに対応変換できる．これは 3 つのプロセスから成る．以下

し ていた．英語用の文字コード である ASCII は７に各々のプロセスを説明する．

ビットで表現できるので電子メールは 7 ビット分だ
けを通すように出来ており，最も標準的なプロトコ

1. 送信側のメーラーで，バイナリデータ (音声・画ルである SMTP1は電子メールを 7 ビットのテキス像など ) 部分をテキストコードにエンコード (変換) する．

トデータとして処理する．しかし ，アジア圏の人々が電子メールを使うには非常に不便である．例えば2. テキスト メールの一部としてメールを配信する．

日本語だと文字の数が大変多いため，1 バイト (=83. 受信側のメーラーで元のバイナリデータにデコード (復元) する．

ビット ) では全て表現できず，2 バイト (=16 ビット )使用しなければならないからである．

2 Request For Comment．インターネット上での様々な約束事・規格が書かれた文書で，IETF( インターネット技術特別調査委員会) が各種規格を取りまとめている．RFC はインターネットでの実際上の各種規約になっている．

1 電子メールを集配するメールサーバ同士の転送方法を取り決めたプロトコル．

1

この３つのプロセスにより，あたかもバイナリデータがそのまま送られたかのように見せるのである．

4

MIME の構成と具体例
電子メールに使われるメッセージ・フォーマット

は基本的にはヘッダと本文からなる． MIME 規格の特徴はヘッダ内に MIME-Version ヘッダ，ContentType ヘッダ，Content-Transfer-Encoding ヘッダを記述していることである．

図 2: TELNET の例

 MIME-Version ヘッダ
電子 メールが MIME 規格に 従って いること

従って我々のコミュニケーションの幅が広がることを 示し ，メール ソ フト が MIME 規 則に 従っになる．それでは，例えば電子メールにおいて全てた メー ル を 出 す と き に は 自 動 で 付 け ら れ ，のメーラーに MIME が対応しているかというとそう「 MIME-Version:1.0 」と書かれる．今のところではない．MIME が生まれる以前の初期のメーラー

Version:1.0 しかない．

はもちろん対応していないので，せっかく MIME でバイナリデータを送信されても受信の際には訳のわ Content-Type ヘッダ

からない文字の羅列になってし まう，ということがメッセージ本体に含まれるメッセージのタイプある．このような問題は，MIME が「必ず使わなけ(テキストなのか，画像などのバイナリデータがればならない規格」と定められていないため生じる．

混在しているのかの識別) を記述する．はじめに同様のことが電子メールに限らずブラウザや OS 管

電子メールの大まかな型を示し ，後ろに詳しい理についても言える．

型を示すようになっている．例えば「 ContentType: text/plain; charset=iso-2022-jp 」であれ

6 まとめば，text/plain は「ただのテキスト」を表す．また charset=は本文の文字コードを表し，この場我々のコミュニケーションツールとして欠かせない合は「日本語の文字コード 」を表す．

存在であるインターネットにおいて，MIME は非常 Content-Transfer-Encoding ヘッダに優れたものである．しかし ，前述のように MIMEメッセージ本体のデータの符号化方法を記述すは絶対的な規格だという訳ではない．今後は MIMEる．これにより受信側にメッセージの復号方法対応のツール (全てのメーラーが MIME 対応になるを知らせることが 出来る．
「 Content-Transfer-ようにする，など ) を増やすことが課題ではないかと

Encoding : 7bit 」なら変換なし の普通の メー考えられる．

ルであり，「 base64 」であれば，バイナリデータを ASCII テキストに変換して送るときに使う

参考文献

base64 符号化方式を使っている，ということである．最近のメーラーの「ファイルを添付」と[1] 南山智之，佐々木杉夫『 TCP/IP とソケットいう機能は，base64 を使っている場合が多い．

ライアント /サーバ構築法』（ 共立出版，1998 ）これらの表示は TELNET 上 (その他のメーラーで[2] 中川純一，赤川義洋『 TCP/IP がわかる本』（毎もヘッダを表示させることは出来る) で見ることが出日コミュニケーションズ，1998 ）来る．
（ 図 2 参照）

5

MIME の問題点
MIME は，単純なテキストデータだけでなく画像や音声などのバイナリデータの送受信を可能にする．

ク2