後藤@太陽計測です

Rubyには直接関係ない内容なのですが、
ちょっと誤解があるようなので。。。

また、自分で読みなおしてもおもうのですが、なんか、エラそうな文面に見え
ましたら、ごめんなさい。そんなジンブツじゃないのは確かです。


>>>>> From: Toru Hoshina <toru / gte.net>
> > それから、RFC2047では、例えば "漢字file" というのは white-spaceで
> > 区切られていないので、"=?iso-2022-jp?B?GyRCNEE7ehsoQg==?= file" と
> > してはダメで、=?iso-2022-jp?B?GyRCNEE7ehsoQmZpbGU=?= といっしょに
> > エンコードしなければなりません。そうしないと、decodeすると
> >  "漢字 file"となってしまうからです。
> 
> 私は"漢字 file"となってしまうので良いのだと今迄ず〜っと思っていました。
> というか、これはencodeの対象となる文字列にもともと含まれていた空白と
> encodeした結果、multiple header化せざるを得なかった場合に行頭に追加
> される空白との判別ができないRFC2047の欠陥だ、と。

後のことにも関係しますが、このような空白保存の問題があるからいっしょに
エンコードしないとならないね、ということです。

# RFC2047では、英語圏の文化のせいなのかわかりませんが、「ワードの区切り
# に空白はふつ〜あるだろ」みたいな前提があるような印象を受けます。
## 邪推でしかないですが :-)


> 例えば、文字列自体に意味はありませんが、いろいろなMailerで
> 
> aあbいcうdえeおfかgきhくiけjこkさlしmすnせoそpたq
> 
> などというSubjectを送受信してみると、実に様々な実装があるのがわかります。
...snip...
> となるようにencodeしていました。これをdecodeすると、当然ながら
> a あ b い c う d え e... などと、空白入りとなって等価には復元できないのは
> 承知の上で、です。

Becky!などはそういう感じのようですね。(現バージョンはどうかな?)

例えばEmacs上のメーラのMewだと、上記文字列はこうなります
Subject: =?iso-2022-jp?B?YRskQiQiGyhCYhskQiQkGyhC?=
 =?iso-2022-jp?B?YxskQiQmGyhCZBskQiQoGyhC?=
 =?iso-2022-jp?B?ZRskQiQqGyhCZhskQiQrGyhC?=
 =?iso-2022-jp?B?ZxskQiQtGyhCaBskQiQvGyhC?=
 =?iso-2022-jp?B?aRskQiQxGyhCahskQiQzGyhC?=
 =?iso-2022-jp?B?axskQiQ1GyhCbBskQiQ3GyhC?=
 =?iso-2022-jp?B?bRskQiQ5GyhCbhskQiQ7GyhC?=
 =?iso-2022-jp?B?bxskQiQ9GyhCcBskQiQ/GyhCcQ==?=

同じくEmacs上のMIMEユーティリティFLIMだと、こうなります。
Subject: =?ISO-2022-JP?B?YRskQiQiGyhCYhskQiQkGyhCYxskQiQmGyhCZBskQiQoGyhC?=
  =?ISO-2022-JP?B?ZRskQiQqGyhCZhskQiQrGyhCZxskQiQtGyhCaBskQiQvGyhCaQ==?=
  =?ISO-2022-JP?B?GyRCJDEbKEJqGyRCJDMbKEJrGyRCJDUbKEJsGyRCJDcbKEJt?=
  =?ISO-2022-JP?B?GyRCJDkbKEJuGyRCJDsbKEJvGyRCJD0bKEJwGyRCJD8bKEJx?=



> しかし、英数字をスルーしないで一緒くたにencodeするのが正しい解釈
> だったとわ… すると、OutLookなどは正しいんですね。
> 
> Re: [ruby-list:10802] Re: サブジェクトのエンコード
> 
> などというのも、後藤さんのおっしゃるencode方法だと、頭から=?...と
> 始めるわけで、とするとMLサーバなどではMIMEのデコード必須ですね。
> そうしないと、replyの通し番号を取り除けずに(encodeされちゃってるから)

えぇと、これはちがいます。いっしょにエンコードするのは、必要最小限に
すべきなので、上記場合は

[FLIMの場合]
Re: [ruby-list:10802] Re: =?ISO-2022-JP?B?GyRCJTUlViU4JScbKEI=?=
  =?ISO-2022-JP?B?GyRCJS8lSCROJSglcyUzITwlSRsoQg==?=

とか、

[Mewの場合]
Subject: Re: [ruby-list:10802] Re:
 =?iso-2022-jp?B?GyRCJTUlViU4JSclLyVIJE4lKCVzJTMhPCVJGyhC?=

とかなります。ここは、Re:の後ろの空白をちゃんと使えるので、チャンと保存
され、問題無いわけです。くっついちゃってる個所はいっしょにエンコード
しないといけないという話しなわけです。


> Re: [ruby-list:10806] Re: [ruby-list:10805] Re: [ruby-list:10804]
> Re: [ruby-list:10803] Re: [ruby-list:10802] Re: サブジェクトのエンコード
> 
> などとなります(笑)

というわけで、そうはならないわけです。(^^;


> #全然rubyと関係なくて、ごめんなさい皆さん。

すいません、みなさま  (._.)>


P.S.
Ruby 好きです
他だ惜しむらくは、触る時間とネタがあまりない (;_;)

--- Regards,
 Shun-ichi Goto  <gotoh / taiyo.co.jp>
   R&D Group, TAIYO Corp., Tokyo, JAPAN