Al inicioダレでもわかる電子メール メールヘッダの表示の仕方 西ヨーロッパ言語の場合 (ISO-8859-1) 画像等のバイナリデータの場合 メッセージヘッダの拡張 Q符号化 B符号化
index
noticia de Colombia
noticia de Colombia
noticia de Colombia-1
guia de Colombia
información de Colombia
plano del país
plano de Bogotá
guía de Bogotá
guía de TransMilenio
digo lo que quiere
piropo
interfaz de espan~ol
entra y salida de espan~ol
problema de correos
correos gratuitos
palabras de ordenador
softwares
comunicacio'n
benkyo
vinculos
LatinChat

LatinCards

anuncios
what's new
perfi'l
atencio'n
opinio'n

ダレでもわかる電子メール

   インターネットには、いろいろなコンピュータが接続されています。皆さんが使っているパソコンから、ひと部屋占有してしまう大型コンピュータまで、それぞれに役割分担があります。ホームページを発信するためのWEBサーバー、コンピュータのプログラムやファイルを転送するためのFTPサーバ、そして電子メールをやり取りするためのメールサーバなどがあります。

   英語と日本語の文字には、その数に大きな違いがあります。英文字は小文字、大文字や記号、数字を合わせても100種類くらいですが、日本語は平仮名、カタカナ、漢字を合わせると通常使っている文字だけでも2000種類以上になります。コンピュータは、それぞれの文字をルールに従って数字に置き換えて送り(符号化と言う)、受け取り側では、そのルールを逆に変換して、私たちが理解できる文字として表示します。元々軍事用としてアメリカで開発されたインターネットは、英語が使えればよかったので、文字数も100種類位で十分だったのです。そのため、メールサーバには、いまだに100文字程度しか理解出来ないコンピュータがつながっています。このまま、あなたが日本語のメールを送った場合、運が悪ければ、そのコンピュータを通過した時に文字化けを起こして相手には記号だらけの意味不明メールが送られてしまいます。この文字化けをさける為、また文字以外の画像(写真や壁紙など)やプログラムも電子メールで送る事が出来るように色々な方法が考え出されました。
どの方法を使っているかは、メールヘッダのContent-Typeフィールドを見ればわかります。

 

メールヘッダの表示の仕方

  • OutlookExpressの場合
       表示したいメッセージを右クリックしてプロパティを開いた後、詳細タグをクリック。
  • NetscapeMessangerの場合
       メニューバーの表示からヘッダ、すべてを選ぶ。
  • その他のMUAの場合
       それぞれのヘルプを参照してください。
 

言語別 標準的な符号化方法

   以下に言語(ファイルタイプ)別の最も一般的な文字コードと符号化が必要な場合は、それを示します。これ以外にも、たとえば西ヨーロッパ言語や日本語をbase64で符号化する事も可能ですが、例外的な方法は文字化けの要因になる可能性があります。

  1. 英語の場合 (US-ASCII)
    • 文字セットとしてASCIIが使用され、符号化はされない。
    • アルファベット、数字、記号を合わせて94文字と34文字の制御コードなどから成り立っている。
    • Content-Typeのcharsetは"us-ascii"または省略。
    • Content-Transfer-Encodingは"7bit"になる。

    ASCII文字セット    SPはスペース、ピンク地は制御文字
    読み方)AはHEX(16進数表記)で41、BIN(2進数)で01000001
    HEX 0123 4567 89AB CDEF
    0 NULSOHSTXETX EOTENQACKBEL BSHTLFVT FFCRSOSI
    1 DLEDC1DC2DC3 DC4NAKSYNETB CANEMSUBESC IS4IS3IS2IS1
    2 SP!"# $%&' ()*+ ,-./
    3 0123 4567 89:; <=>?
    4 @ABC DEFG HIJK LMNO
    5 PQRS TUVW XYZ[ ]^_
    6 `abc defg hijk lmno
    7 pqrs tuvw xyz{ |}DEL
     
  2. 西ヨーロッパ言語の場合 (ISO-8859-1)
    • 一般的にISO-8859-1(Latin1)文字セットが使用される。
    • ISO-8859-1(Latin1)は西ヨーロッパ言語が使用できるようにASCIIを拡張したもの。
    • 通常quoted-printableで符号化される。
    • Content-Typeのcharsetは"iso-8859-1"、
    • Content-Transfer-Encodingは quoted-printable になる。
    • US-ASCII以外の文字や制御文字は = の後に16進表記の文字コードで表される。
    • スペース文字と = 以外のUS-ASCII文字は符号化されない。(そのまま読める)
    • 1行が76文字以内になるように = と改行文字(CRLR)が挿入される。
    • スペイン語特殊文字は、次の様になる。
      (IE4.0またはNN6以上でご覧下さい。それ以外ですと正常に表示できません。)
       
      quoted-printable符号化方式
      スペイン語特殊文字のみ抜粋
      文字符号化文字符号化文字符号化文字符号化
      Á=C1á=E1É=C9é=E9
      Í=CDí=EDÓ=D3ó=F3
      Ú=DAú=FAÑ=D1ñ=F1
      Ü=DCü=FC¡=A1¿=BF

    ISO-8859-1(Latin 1)文字セット
    00から7F(16進表記)はUS-ASCIIと同じ
    HEX  0 1 2 3  4 5 6 7  8 9 A B  C D E F
    A  ¡¢£ ¤¥¦§ ¨©ª« ¬­®¯
    B °±²³ ´µ· ¸¹º» ¼½¾¿
    C ÀÁÂÃ ÄÅÆÇ ÈÉÊË ÌÍÎÏ
    D ÐÑÒÓ ÔÕÖ× ØÙÚÛ ÜÝÞß
    E àáâã äåæç èéêë ìíîï
    F ðñòó ôõö÷ øùúû üýþÿ

  3. 日本語の場合 (ISO-2022-JP)
    • 文字コードは ISO-2022-JP が使用され、符号化はされない。
    • 特別な意味を持った記号(エスケープシーケンス:制御文字+1バイト文字2個)を付けて、この記号があった場合は、英語2文字分を日本語の1文字に当てはめるというルールを作り送る方法。日本語メールはほぼ100%この方式を利用している。
    • 半角カタカナや機種依存文字はこのルールに入っていないので使うべきではない。
    • Content-Typeのcharsetは"iso-2022-jp"になる。
    • Content-Transfer-Encodingは"7bit"になる。一部に"8bit"と記すMUAもある。
    • 1行の最初と終わりはASCIIでなければならない。つまり、全部日本語のメールでも各行の先頭に日本語開始エスケープシーケンス、末尾に ESC(B がなければならない。
      エスケープシーケンス
      エスケープシーケンス文字セット
      ESP(BASCII
      ESP(JJIS X 0201-1976
      ESP$@JIS X 0208-1978
      ESP$BJIS X 0208-1983

    ISO-2202-JP(JIS X 0208)文字セット
    ひらがなのみ抜粋
    HEX 0123 4567 89AB CDEF
    242  
    243
    244
    245
    246
    247               

  4. 画像等のバイナリデータの場合
    • 通常base64という符号化方式が使われる。3文字分のデータを4文字のUS-ASCII文字に変換する方法。
    • 具体的には3バイト(24ビット)のデータを4つの6ビットデータに変換する。その6ビットデータを下の表に合わせてASCII文字化する。
    • Content-Transfer-Encodingは"base64"になる。
    • 1行が76文字以内になるように改行文字(CRLR)が挿入される。
       
      base64符号化
      6bit値文字6bit値文字6bit値文字6bit値文字
      000000A010000Q100000g110000w
      000001B010001R100001h110001x
      000010C010010S100010i110010y
      000011D010011T100011j110011z
      000100E010100U100100k1101000
      000101F010101V100101l1101011
      000110G010110W100110m1101102
      000111H010111X100111n1101113
      001000I011000Y101000o1110004
      001001J011001Z101001p1110015
      001010K011010a101010q1110106
      001011L011011b101011r1110117
      001100M011100c101100s1111008
      001101N011101d101101t1111019
      001110O011110e100110u111110+
      001111P011111f100111v111111/

メッセージヘッダの拡張

   本文は通常に読めるのに、メールのタイトルだけが文字化けして読めない事があります。海外のメールサーバを使っている場合、相当な確率で文字化けします。これは、メッセージ本体に比べ、まだヘッダの多言語化に対応したサーバーやMUAが少ないためです。海外のメールアドレスや相手が日本語以外の環境で使用している場合は、メールの宛先、差出人、タイトルには日本語は使わず、アルファベット(US-ASCII)で書いた方がよいでしょう。

   符号化方法には以下の2種類があります。
  1. Q符号化
    • MIMEのquoted-printableに準じる方法
    • quoted-printableに比べ下記の相違点がある。
      1. スペース文字は'_'に置き換えてもよい。
      2. ? は =3F 、 _ は =5F に変換する。
    • 文字セット、符号化方法、データ本体の順で続き、それぞれ ? で区切られる。
      例 =?iso-8858-1?q?xxxxx?=        xxxxxはQ符号化された文字列
     
  2. B符号化
    • MIMEのbase64に準じる方法
    • 文字セット、符号化方法、データ本体の順で続き、それぞれ'?'で区切られる。
      例 =?iso-2022-jp?b?xxxxx?=        xxxxxはB符号化された文字列
 
戻る