std11-lexical-analyze

Shuhei KOBAYASHI shuhei @ aqua.ocn.ne.jp
2001年 4月 11日 (水) 20:28:58 JST


>>>>> In <7tevgocqek1.fsf @ puyo.mei9.advantest.co.jp>,
>>>>> ari @ atesoft.advantest.co.jp (Akihiro Arisawa) wrote:
> [2 iso-2022-jp''%1b$B0l%3b~$N%1b%28B%20utf-8%20%1b$B$N%3bH$$J}$N$h$&$KN.9T$i$J$$$+$J%1b%28B%28^^%3b <text/plain; ISO-2022-JP (7bit)>]
> 
> ;; 手で入れたのでおかしいかもしれません。

御覧のように flim-1_14-rfc2231 では decode できなかったのですが,
encode が間違っているのかどうかは断言できないことに気付きました.

RFC 2231 (MIME Parameter Value and Encoded Word Extensions) では

|  ext-octet := "%" 2(DIGIT / "A" / "B" / "C" / "D" / "E" / "F")

となっていて, 一見すると uppercase 限定のように見えるのですが,
RFC 2234 (Augmented BNF for Syntax Specifications: ABNF) には

|       NOTE:     ABNF strings are case-insensitive and
|                 the character set for these strings is us-ascii.

と書かれていて, uppercase 限定の場合には

   ext-octet := "%" 2(DIGIT / %x41 / %x42 / %x43 / %x44 / %x45 / %x46)

のようになっていなければいけないんですね.
さて, 問題は RFC 2231 が RFC 2234 を採用しているかどうかなのですが...
;; 両者はほぼ同時に発行されていますが, RFC 2231 の References には
;; RFC 2234 は挙がっていないので, 採用されていないのだと思います.


それはともかく, quoted-printable と同様に, decode 時には lowercase を
許容した方が良さそうですね.
-- 
Shuhei KOBAYASHI




More information about the Emacs-mime-ja mailing list