[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 メーリングリストの案内