後藤@太陽計測です >>>>> at Sat, 14 Nov 1998 03:51:38 +0900 >>>>> 菊谷 <kikutani / sprintmail.com> said, 菊谷> mikekit1.1のISO2022JPという文書の電総研の佐藤さんの案は 菊谷> 分割エンコードして、なおかつ空白を保存できるうまい案だと 菊谷> 思うのですがいかがでしょう? この方法は知ってはいました。けど、どうも納得しかねるんですよね。当時の 議論には参加していません(経過はあとで読んでみます)ので、文書だけ読んで 思うことは,,, (1) この手法を考慮したもの同士なら、そしてひろくこの手法が使われれば結 構幸せになれると思います。けど、そうでなければ空白問題に取り組まな いのと大差無いのではないかな?と感じます。というのは、先の例の "漢 字file" のように、RFC-2047の枠内で無空白をNDに対して伝達できるケー スをも放棄してしまうからです。 ※ これは、ISO2022JP文書をそのまんま実装し、それ以外の考慮をしない のであれば、の話しですが。 分書中のA案「補足」にもあるように、佐藤さんは認識した上での提案だ ということですから、MIME-kitの汎用化のためは必要だったのだと思いま す。 (2) マジメにMIMEしようとすると、structured/non-structuredなどのフィー ルドによる判定や、structuredの場合はその構文/制限などを考慮しなけ ればならず、構文処理とEncode/Decodeを分離しにくいというのは、MIME の(RFC-822拡張の)ツライところなのだなぁ、と実感。ここらへんは各MUA でも悩みどころなのだと思うので、こういう統一的方法はうれしい。けど、 現状はMIME-kitのみだし、JPローカルだし、(1)も気になるし。。。 (4) でも、ESCシーケンスに別の機能を持たせるというのは、ちょっとヤだな。 rfc-2047に則ってもなおそれしか方法が無い(あるいは則りようが無い) というのならわかるけど。 菊谷> お、今探すとmimekit1.8なんてのがあるのか。 菊谷> ftp://etlport.etl.go.jp/pub/DeleGate/delegate5.7.4.tar.gz 菊谷> の中にあります。ISO2022JPは変わってませんね。 実装のほうまではみていませんが、文書は変わってないようですね。 #delegateはいつも便利に使わせていただいています。 きっと、delegateのように、ユーザ対話でない自動処理プログラムは、MUAと は違った悩みを持つのだと想像します。MUAだと、エンコード時に不正なケー スはユーザに警告なり確認なりを行えるタイミングがあり、そこで「送らない」 こともできるわけですが、delgateはそうもいかない。どんな入力がきても処 理しなければならないわけですし、ましてやdelegateはプロトコルも多彩です ので、MIMEエンコーダ部分の各プロトコルからの分離独立は重要なのでしょう。 「制約」と「一般化」の狭間で明確な線が引ないのは、ツライということか。。。 で、話しはrubyに戻って、rubyでのbase64.rbはどーあるべきかというと、よ くわかりませんけど、題材としては、FLIM(emacs-lisp)の ruby化、 mime-kit(C言語)のruby化というのもありますね。どちらも結構独立したパッ ケージなので、ruby-module化も可能のような気がします。 #気のせいかもしれませんが (^^; 先人たちの知恵の集結であるコードを放棄してしまうのはもったいないですし。 RFC-2047がしっかりしていない(?)以上、1から作るのはツライし。 どーでしょーかぁ --- Regards, Shun-ichi Goto <gotoh / taiyo.co.jp> R&D Group, TAIYO Corp., Tokyo, JAPAN