[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[debian-users:00861] Re: Don't you like ISO-2022?



nobby@Nmailの作者です

> ここの所が良く分からないんですが、「Subject に生 JIS を書くと困る人が
> 存在する」と言う意味でしょうか?
> 生 JIS と言うのが ISO-2022 コード系を指しているのなら、困らないと思い
> ます。ISO-2022 コード系は、エスケープシーケンスで文字セットを切替える
> ようになっていて、例えば中国語、韓国語なども表現できます。
> # 昔、news の signature にハングルを使っている人がいました。本文などは
> # 日本語です。
> 
> 『日本語情報処理』という本からエスケープシーケンスをちょこっとひろって
> くると、
> 
> 日本語 : ^[$B
> ASCII  : ^[(B
> 韓国   : ^[$(C
> 中国   : ^[$A
> 
> となっています。ただ、台湾の Big5 コード系は ISO-2022 とは全然関係ない
> ようで無理みたい。MIME なら Big5 も日本語などと混在させる事はできるん
> だと思います(MIME は良く分からない)。
  基本的にJISコードを使っていれば2バイト系の混在は理論的には可能です
  が、しかし font を日本語 韓国語 中国語 全部INSTALLしている環境というのは
  あまり(いやほとんど?)無いでしょう。メーラを作成(設計)する立場から考えると
  メッセージのやりとりはJISでないと困ります。
  そういう点からも MIMEでは(ただし本文)はJISコードで送受信することになって
  います。

  次に Headder 部分 (From や Subject 等 : のついている奴) はこれは、必ず
  7bitコードだけという仕様になっているんです

  理由は、メールの古い規格である RFC822(だったと思う)では JISコードすら
  8bit コードということで使用できないことになっていました(古い7bit JISは
  この名残?) したがって漢字はどう表現するかというと
    新JIS に変換 -> Base64 でデコードし "=?ISO-2022-JP?B?"の後にくっつける
  という方法がとられています。

  さてここで気がつかれた人もいると思いますが、
            "そんな古い規格のサーバは日本語が 通らないのでは?"
  と考えるでしょう? それは、内部で 7bit化させてしまうのです。

  これは Quoted-Printable という方法で7bit化 されます
  変換は結構かんたんで  0x20 ' ' より小さいコード(ESC CTRL-Aなど)と
  0x7f より大きなコード(つまり8bitコード)は =1b などと =にヘキサデシマル
  に変換した数字をたせばいいのです。

  ざっとなぜ? と こうなっている(メール規則) を書きました
  参考になれば幸いです。
------------------------------------------------------------------
          Nobby             Noboru          Hirano
         / |    /          / |    /         /      /
        /  |   /          /  |   /         /      /
       /   |  /          /   |  /         _____  /
      /    | /          /    | /         /      /
   __/    __/     () __/    __/    () __/    __/   ()
mailto:nobby@xxxxxxxxx  URL: http://www.din.or.jp/~nobby/
PGP fingerprint = FA 69 72 CD F8 D3 70 D9  39 10 FF 69 73 DE 91 CD
------------------------------------------------------------------