[mew-dist 26691] Re: MIME decode error (**B ENCODING ERROR**)
Hideyuki SHIRAI ( 白井秀行 )
shirai at example.com
2005年 11月 28日 (月) 21:14:36 JST
From: masahiro imabayashi <inu at example.com> さん曰く
Subject: [mew-dist 26689] MIME decode error (**B ENCODING ERROR**)
Message-ID: <20051128.142405.74736634.inu at example.com>
Date: Mon, 28 Nov 2005 14:24:05 +0900 (JST)
> Subject:部の文字列はISO-2022-JPのBエンコーディングで、
> mime_pls(*1)のmimer.plではデコードできる文字列だったので
> MIMEのエンコードとしておかしな文字列でもないよう
> に思ったのですが、これはMewの問題なのでしょうか。
> (*1: http://www.cc.rim.or.jp/~ikuta/mime_pls/document.html)
> ・届いた生の文字列
> Subect: =?ISO-2022-JP?B?GyRCIVobKEIyMDA1LzExLzI0GyRCIUpMWiFLRX5DZU09RGohW0xARnwlOyVWJXMlJCVsJVYlcyRLJCpGTyQxGyhC====?=
> ・想定される文字列
> Subject: 【2005/11/24(木)到着予定】明日セブンイレブンにお届け
(base64-encode-string
(encode-coding-string "【2005/11/24(木)到着予定】明日セブンイレブンにお届け" 'iso-2022-jp))
=>
"GyRCIVobKEIyMDA1LzExLzI0GyRCIUpMWiFLRX5DZU09RGohW0xARnwlOyVWJXMlJCVsJVYlcyRLJCpGTyQxGyhC"
なので、正しい(folding していないから正しくないけど)ものは、
Subect: =?ISO-2022-JP?B?GyRCIVobKEIyMDA1LzExLzI0GyRCIUpMWiFLRX5DZU09RGohW0xARnwlOyVWJXMlJCVsJVYlcyRLJCpGTyQxGyhC?=
となります。最後の "?=" の前の "=" がありませんが、この "=" は
RFC2045 に書いてあるようにパディングデータなので、最大 3つまでし
か連続しないものです。
# 8bit x 3 = 24 bit の元のデータを 6bit x 4 = 24bit に変換するので。
(http://www.asahi-net.or.jp/~bd9y-ktu/dtd_f/rfc_f/rfc2045j.html
など参照のこと)
ちなみに、"**B ENCODING ERROR**" という文字列は Mew が作っていま
すけど、それは、Emacs の組み込み関数 base64-decode-string() がエ
ラーを起こしているからです。
(base64-decode-string "GyRCIVobKEIyMDA1LzExLzI0GyRCIUpMWiFLRX5DZU09RGohW0xARnwlOyVWJXMlJCVsJVYlcyRLJCpGTyQxGyhC====")
の ) の右で C-xC-e してみてください。
## 最後に "=" が付いていてエラーしたら、順番に "=" を消して
## decode してみるとかはできると思いますが、なんだかなぁ、という
## 気がします。
--
白井秀行 (mailto:shirai at example.com)
Mew-dist メーリングリストの案内