FGALDC 14 /RE:07976 RE:高速デコーダ  こんにちは、Emmett さん 》 decode64 って、nifty 経由で届いたメールでもデコードしてくれます? 僕もも えっと、庄司さんの作られたツールのことですよね? nifty 経由だろうがなんだろうがデコードしてくれていますよ。 あ、もしかしてログファイルをそのまま食わせてませんか? このツール、純粋に BASE64 でエンコードされている部分しかデコードしてくれ ませんから、使う際にはその部分をテンポラリに書き出して、それから食わせて やる必要があります。あとは、ファイルの指定にちょっとクセがありますから、 私の場合は入力と出力をよく間違えるのですが、でもそれであれば、その手のメ ッセージは出てきませんからたぶんこれは違うでしょう。 私が decode64 を使ったデコーダを作ると、カーソル位置より下の部分をデコー ドする、という仕様にして、多分以下のようなロジックになるでしょう。   検索文字列に "filename=" を設定し #c   出力ファイル名取得   その次の空行を検出し、空行の次の文字で #b   検索文字列に "-" を設定し #c #e   テンポラリディレクトリにセーブ "tempfile" #m   コマンドラインに降りて "decode64 " 出力ファイル名 " < %tmp%tempfile" あ〜、なんか作れそうな気もしてきたけど、Emmett さんの高速デコーダがあるの に今更作るのも面倒なので中止。 》 本文自体は短くても(数行で)構わないんで、いくつか、イメージをつかめるよ 》 うなサンプル・データでもあれば、メールででも送ってもらえません? Subject 以下、いずれもSPAMの例です。 例1:HTML添付ファイルだけが quoted-printable の場合の添付部分 Content-Type: text/html; charset="iso-2022-jp" Content-Transfer-Encoding: quoted-printable
=1B$B!J=3D>Mh>R2p@)$G9T$C$F$$$?%5!<%S%9$r;n83E*$KEE;R=1B(BDM=1B$= B$G$40FFb$7$F$$$^$9!#=1B(B=20 例2:本体そのものが quoted-printable の場合 Subject: 未承諾広告※ ★ 馬券が10%オフで購入できる! ★ MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Mailer: Microsoft Outlook Express 5.50.4522.1200 Content-Type: text/plain; charset="iso-2022-jp" <=1B$BAw?.=1B$B!!#I#R#F9q:]6%GOEjI<%7%9%F%`!JGO7t#1#0!s%*%U!*!K=1B= (B <=1B$B:#8e$NG[?.Dd;_4uK>$N>l9g$O=1B(B> =1B$BBjL>$K!!G[?.ITMW!!$H$45-F~D:$-!"$3$N%a!<%k$r$=3D$N$^$^$4JV?.2<$5$k$+= !"=1B(B 例3:中国語? Subject: =?big5?Q?=B0_=A8B=3F!=C1=D9=ACO=AF=B8=A6b=AD=EC=C2I=3F!?= Content-Type: text/plain; Content-Transfer-Encoding: Quoted-Printable X-UIDL: P1cnOdHkME1SMAE =B1z=A6n: =A7=DA=ACO=BF=CB=A9=F4=C1p=A6X=B3q=B8=F4=AA=BA=BEG=A9=B1=AA=F8=A1A =A4=A7=ABe=A6=B3=BBP=B1z=B3q=B9L=B9q=B8=DC=A1A 》 それと、できれば、マクロコードよりも、エン 》 コードの「規則」そのものを単刀直入に教えてくださると助かります。 http://www.atmarkit.co.jp/icd/root/24/5784924.html より引用 》 Quoted Printableでは、バイナリデータのうち、文字としてそのまま 》送信できるデータ(「=」を除く0x21〜0x5E、0x60〜0x7E、スペース、 》タブ)はそのまま送信し、これ以外のデータを「=」+16進表記の文字に 》変換する。たとえば0x0Aなら、「=0A」という文字列に変換する。このよ 》うにQuoted Printableでは、文字としてそのまま送信できないデータに 》ついては、元の1byteのデータが3文字(3byte)になるので、キャラクタ 》コード以外のデータを多数含む場合には、送信効率が低下してしまうが、 》そうでない場合(キャラクタコードが多い場合)には、最小限のオーバー 》ヘッドですむという利点がある。 あと、上記には書いてありませんが、デコードの際、行末が "=" の場合にはその 次の改行は読み飛ばし、そうでない場合はそのまま改行を出力、という処理が必 要です。Vzマクロでいう、$ を使った文字列の継続のようなものですね。                                 としき