Article View: fj.net.mime
Article #161Re: encoded-word
From: Tanaka Akira
Date: Sun, 12 Jul 1998 00:00
Date: Sun, 12 Jul 1998 00:00
76 lines
4799 bytes
4799 bytes
In article <th98o6.2hl.ln@sou.nerv.org>,
Kazushi Jam Marukawa <jam@pobox.com> writes:
> 僕は、後から判断するのは、構造を持ったデータ構造がないと
> 不可能だと考えてます。一方でメイルアドレスは構造のない
> テキストとして取り扱われるため、構造を表わさない"("は、
> "\("として明示するというスタイルのほうがいいと思います。
う。うまく伝わらなかったような気がする。
私は構造を持ったデータ(構文木)を RFC822 の文法に従った US-ASCII の文字
列(メッセージのネットワーク表現)に変換することを考えています。
そして, 構文木をどのようにユーザが指定するかは今のところあまり気にして
いません。まぁ, 古来より Unix では RFC822 の文法にしたがったUS-ASCII
の文字列をもってその構文木を示すことになっていますが, べつにそれが唯一
の方法ではないでしょう?
もちろん, RFC822 の文法を拡張として, Non-ASCII の文字を含むようにした
文法を定義し, その文法とその文法にしたがった文字列をもって構文木を示す
というのは悪くない方法だとは思います。
ただ, この方法をとると, 確かに指摘のように「コメントのネストを表す"("」
と「quoted-pair の "("」と「encoded-word に含める "("」の3つのどれかを
区別できなくなります。(これは結局のところ RFC822 には "(" の記述法が 2
種類しかないからです。)しかし, この問題は構文木の指定の仕方の問題であっ
て, 構文木からネットワーク表現に変換することの問題ではないように思いま
す。
> ちょっと分かり難いので、例でも。例えば、(ab\(cd)となって
> 欲しいcommentを作りたいとします。どうやってデータを
> エンコーダに渡し、どんな物が出てくると便利でしょう。
1. 構文エディタを使う。
2. Emacs で (ab(cd) と入力して真中の "(" には適当に quoted-pair で
encode されるべきであるというプロパティを張り付けておく。
3. "(ab" と "cd)" は ASCII で記述し "(" は JIS X 0201 で記述する(笑)
まぁ, 便利かどうか, ってのは問題ですが, Emacs の中ならそこそこ使えるも
のができるんじゃないかと思います。
# それに, どーせデコードできない encoded-word が入っているメッセージを
# 扱う時にはその部分にそのような印をつけて, 構造をもったデータとして扱
# わなきゃいけないし。
> 僕的には、従来のRFC822的なアドレスを渡し、その中のctext
> を個々にエンコードするというインターフェースが一番簡単で
> かつ優れてると思います。これが、即ちどちらが正しいかと
> いった判断には繋がりませんが、こういう問題があるという
> ことです。
はい。それは理解しています。
plain text はエディタを選ばないという利点がありますし, ネットワークを
流れる表現に近い状態でメッセージを扱うのはいろいろと怪しいことができて
便利だと思います。そもそも, そーいう怪しいことは私の好むところでもあり
ます。
> ただ、Non-ASCIIの文字を入れれるんだから、ASCIIの"("も
> 入れれるっていう論理には無理があると思います。
なるほど。では「encoded-word には指定した charset に含まれる文字はすべ
て入れられる」とでもいえばいいでしょうか?
他に, へ理屈をこねるとすれば, 「RFC2047 では文字と文字が等しいとはどの
ようことか, ということを定義していないので, 任意の charset で表された
文字が, "(", ")", "\" と等しいか, というのを判断するのは不可能であり,
そのような実装はできない。したがって, あの文字の比較は US-ASCII にエン
コードされた後の文字の比較とみることが妥当である。」なんてのが思いつき
ますが。
# たとえば, ISO-2022-JP の encoded-word を考えると, JIS X 0201 の "("
# や JIS X 0208 1983 の "(" は encoded-word にいれてもいいでしょうか?
まぁ, 尋ねてみればはっきりするんだろうな...
--
[田中 哲][たなか あきら][Tanaka Akira]
Technical Details
Message-ID:
<rsqyatzn1jv.fsf@is27e1s03.jaist.ac.jp>Path:
arc1-ca.pugleaf.net!unknown!not-for-mailReferences:
<ejp7o6.8l6.ln@sou.nerv.org> <rsq1zrs1kog.fsf@is27e1s03.jaist.ac.jp> <th98o6.2hl.ln@sou.nerv.org>Show Full Headers
Complete Article Headers
X-Google-Language: Japanese,JIS X-Google-Thread: 100bbf,1a07400fac91910c X-Google-Attributes: gid100bbf,public From: Tanaka Akira <akr@jaist.ac.jp> Subject: Re: encoded-word Date: 1998/07/12 Message-ID: <rsqyatzn1jv.fsf@is27e1s03.jaist.ac.jp> X-Deja-AN: 370643466 References: <ejp7o6.8l6.ln@sou.nerv.org> <rsq1zrs1kog.fsf@is27e1s03.jaist.ac.jp> <th98o6.2hl.ln@sou.nerv.org> Content-Type: text/plain; charset=ISO-2022-JP X-Emacs: Emacs 20.2, MULE 3.0 (MOMIJINOGA) Organization: JAIST, Hokuriku; Tatsunokuchi, Nomi, Ishikawa, Japan Mime-Version: 1.0 (generated by SEMI 1.8.4 - "Takaoka") User-Agent: Semi-gnus/6.8.0 Emacs/20.2 Mule/3.0 (MOMIJINOGA) Newsgroups: fj.net.mime