MIME とは?ページ内リンク ↓ウィキペディア(Wikipedia)記事 ↓Yahoo!知恵袋Multipurpose Internet Mail Extension(多目的インターネットメール拡張)は、規格上US-ASCIIのテキストしか使用できないインターネットの電子メールでさまざまなフォーマット(書式)を扱えるようにする規格である。通常はMIME(マイム)と略される。RFC 2045, RFC 2046, RFC 2047, RFC 4289[1], RFC 2049 で規定されている。 出典: 『ウィキペディア(Wikipedia)』 MIME 出典: 『はてなダイアリー』 英和辞典mime関連商品
岩田 彰 /
最安値(新品): ¥ 2,520
最安値(中古): ¥ 448
|
目次 |
従来のRFC 5322 (RFC 822, RFC 2822) 準拠のメッセージとの区別、あるいは将来MIMEが拡張されたときにバージョンを区別するためのヘッダ。現在は1.0のみが規定されている。
Mime-Version: 1.0
このメッセージ中のデータのタイプを指定する。 一般的な書式は次の通り。
Content-Type: type/subtype; parameter
typeには、"text"(テキスト), "image"(画像), "audio"(音声), "video"(動画), "application"(アプリケーションプログラム固有のフォーマット)などを指定して、データそのものの型を指定できる他、"message", "multipart"を指定することで、1つのMIMEメッセージの中にさらに別のMIMEメッセージを指定することもできる。
subtypeには、typeの詳細な形式を指定する。以下のようなものがよく使われる。
なお、正式なsubtypeが与えられていないデータ形式には、x-で始まる独自の名称を使うことができる(例: application/x-gzip)。 また、vnd.で始まるベンダー固有の名称を使うこともできる(例: application/vnd.ms-excel)。
parameterは追加の情報を指定する。よく使われるものに、text/plainやtext/htmlの文字コード系を明記するcharsetパラメータがある。
typeによってはデフォルトのsubtypeが規定されており、受信側は自分の扱えないsubtypeであってもデフォルトのsubtypeとして扱うことにより最低限の取り扱いが可能となる。textのデフォルトはtext/plain、applicationのデフォルトはapplication/octet-stream、multipartのデフォルトはmultipart/mixedである。
MIMEではUS-ASCIIだけでなくデータのさまざまな符号化方法の指定がこのヘッダで可能になっている。 書式は以下の通り。
Content-Transfer-Encoding: mechanism
mechanismとして、"7bit", "8bit", "binary", "quoted-printable", "base64"が指定できる。一般的に利用できるのは"7bit", "quoted-printable", "base64"であり、"8bit", "binary"は一定の条件を満たす場合しか利用できない。
デフォルト値。7 ビットのテキストを表す。 Content-Transfer-Encodingヘッダフィールドを省略した場合は、この7bitを指定したのと同じ意味となる。 US-ASCIIやISO-2022-JPは確実に7 ビットのテキストであるため、これにあたる。
8 ビットのテキストを表す。 RFC 5322 (旧RFC 822、RFC 2822)は7 ビットのテキストを前提としており、この8bitは意図的に違反するものである。メールを転送するためのSMTPは基本的に7 ビットのテキストしか転送できないため、このエンコーディングを用いることはできない。RFC 1652で定義されるSMTPの拡張(ESMTP)の8BITMIMEを用いるか、8 ビットを許容するような全く別のプロトコルを用いた場合のみ、利用が可能である。
データがテキストではなくバイナリであることを表す。RFC 5322 (旧RFC 822、RFC 2822)はテキストを前提としており、このbinaryは意図的に違反するものである。SMTPは基本的に行単位でデータを扱うため、行の概念すらないバイナリは転送できない。RFC 3030で定義されるESMTPの1つであるBINARYMIMEを用いるか、バイナリを許容するような全く別のプロトコルを用いた場合のみ、利用が可能である。
US-ASCIIに存在する文字はそのまま使い、存在しない文字などを'=??'のような形で符号化する。ここで、??には文字のコードを大文字の16進数で指定する。その他、以下のような規則がある。
ヨーロッパ系の言語では、多くの文字がUS-ASCIIと同一で一部に独自の文字を使っているものが多い。 この場合にquoted-printableを用いると、US-ASCIIはそのままの文字を使用しているので、データがほとんど大きくならず、quoted-pritable対応プログラムを使わなくても、大体の内容が読めるという利点がある。 しかし通常のバイナリデータや、Shift_JISやEUC-JPといった仮名漢字などの非ヨーロッパ系の文字のテキストデータにquoted-printableを適用した場合は、base64を使用した場合よりも大幅にデータが大きくなる。
3オクテット (24 ビット) を6 ビットずつ4つに分割し、各6 ビットの値に対してそれぞれUS-ASCIIの64 文字(英字52 文字、数字10 文字、「+」、「/」)を割り当てる符号化方式。詳細は「Base64」の項を参照。
この符号化によって、SMTPなどUS-ASCIIしか許されていない通信路でもバイナリデータを交換できるメリットはあるが、データ容量は約33%増加する。
上記のヘッダの導入によって、body部のデータタイプや符号化方式は指定できるようになったが、このままではヘッダ部は相変わらずUS-ASCIIしか利用できない。MIMEではRFC 2047やRFC 2231によって、ヘッダ部分での非US-ASCII文字の扱いを規定している。RFC 2047によれば、
=?charset?encoding?encoded-text?=
という形式により、文字コード系がcharset、符号化方法がencodingで、encoded-textと符号化された単語を表現できる。charsetはContent-Type:Text/Plainにおけるcharsetパラメータで指定するのと同じ、IANAに登録された文字列を用いる。encodingはQまたはB(大文字でも小文字でもよい)であり、前者はほぼquoted-printableと同じ符号化方法、後者はbase64を用いることを表す。
PageRank5以上の相互リンク
・相互リンクスクエア
(PageRank 5)
・相互リンク インプロス
(PageRank 5)
→便利!NINJA TOOLS
→FC2検索
用語
Wikipedia
YouTube
powered by Yahoo!
◆GOLDMUND◆ゴールドムンド MIMESIS 10 C PLUS D/Aコンバーター
![]() |
![]() |
![]() |
![]() |
![]() |
|
![]() |
![]() |