添付メールのデコード

[上に] [前に] [次に]
パブ論 2000/03/06(月) 02:47:47
受信したメールのデコードをCGI(Perl)で行いたいのですが
なにか良い方法をおしえてください。
Base64
でエンコードされたファイルをデコードしたいです。

--TW9uLCAwNiBNYXIgMjAwMCAwMjoxMzozOCArMDkwMA==
Content-Type: application/octet-stream; name="do.smd"
Content-Disposition: attachment;
filename="do.smd"
Content-Transfer-Encoding: base64

dGl0bGUbJEQ2Dw==

この部分

おねがいします

ラウォッチ 2000/03/06(月) 14:48:26
パールの勉強ついでに作ってみました。

sub b64decode {
%codetb = (
"A", "000000",  "B", "000001",  "C", "000010",  "D", "000011",
"E", "000100",  "F", "000101",  "G", "000110",  "H", "000111",
"I", "001000",  "J", "001001",  "K", "001010",  "L", "001011",
"M", "001100",  "N", "001101",  "O", "001110",  "P", "001111",
"Q", "010000",  "R", "010001",  "S", "010010",  "T", "010011",
"U", "010100",  "V", "010101",  "W", "010110",  "X", "010111",
"Y", "011000",  "Z", "011001",  "a", "011010",  "b", "011011",
"c", "011100",  "d", "011101",  "e", "011110",  "f", "011111",
"g", "100000",  "h", "100001",  "i", "100010",  "j", "100011",
"k", "100100",  "l", "100101",  "m", "100110",  "n", "100111",
"o", "101000",  "p", "101001",  "q", "101010",  "r", "101011",
"s", "101100",  "t", "101101",  "u", "101110",  "v", "101111",
"w", "110000",  "x", "110001",  "y", "110010",  "z", "110011",
"0", "110100",  "1", "110101",  "2", "110110",  "3", "110111",
"4", "111000",  "5", "111001",  "6", "111010",  "7", "111011",
"8", "111100",  "9", "111101",  "+", "111110",  "/", "111111",
);

  local($indata) = @_;
  $indata = join('',@codetb{split(//,$indata)});
  $indata = pack("B*", $indata);
  return($indata);
}

使い方。
$decode_data=&b64decode($encode_edata);

とりあえず、変換は上手くいっていますが、
perl初心者なので、間違えがあるかも...。

無責任官庁 2000/03/07(火) 10:54:47
http://www.cc.rim.or.jp/~ikuta/mime_pls/index.html

こんなの見つけました。

[上に] [前に] [次に]