後藤@太陽計測です

>>>>> 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