BASE64って何のことですか?
[上に]
[前に]
[次に]
kanako
1999/03/09(火) 09:44:17
友人がHPをはじめて作るそうで、使ってほしい画像をメールで
添付したんですが、彼女もまだまだわからなく画像が文字化け
してしまうそうです。
私はMACのフォトショップの画像をJPEGにして圧縮せず送りました。
(インターネットはナビゲーター)
彼女はウィンドウズで趣味でやっている程度です。
ナビゲーターでよく「ファイル→ナビゲーターで開く」をすると
画像が見れますよね。
でも、彼女は「BASE64でJPEGで送って」と言います。
BASE64って何ですか?そして、MAC・ウィンドウズとOSが違っても
何の問題もなく見れる方法は?(何回か圧縮ファイルが開かず見れ
なかった・・・)という事も・・・
初歩的な質問とは思います。が、しかし周囲に聞ける人がいないので
皆さん、こんな私にアドバイスを・・・
ジムシー
[E-Mail]
1999/03/09(火) 11:05:21
BASE64とはInternetメール等で,バイナリデータを送信する為の
エンコード方式の一つで、メールの世界では結構利用されています。
(基本的に機種依存(EUC,jis,s-jis)することなく送れるはずです。)
Kanakoさんが利用しているメールソフトでも、添付ファイルを設定する
時に「エンコード形式」の指定が有ると思いますので、
そこでBASE64を指定すれば自動的にエンコードされ送付出来ます。
ちなみにBASE64では、データを6bit単位で分解し、
(つまり2の6乗=64通りの数とみなす)
その値を「アルファベットの全角、半角文字」,「半角の数字」と「+」,「/」の64文字対応させてエンコードします。
匿名希望
1999/03/09(火) 22:23:16
kanakoさんとそのお友達の方の使っているメールソフト
がなにかを教えてくださると答えてくださる方が答え
やすいと思います。
kanako
1999/03/09(火) 22:43:48
みなさん、ありがとうございます。
ジムシーさんの言う通り、添付ファイル設定の時に「エンコード形式」を指定しようと思い、やってみたんですが、指定するところが
ありません。オプションに「添付をMINEでなく、UUENCODEにする」という
ところはあるのですが、それだけで「BASE64」を選ぶところは
ありません。
匿名希望さん
私はネットスケープコミュニケーターのナビゲーターを使用、友達は
聞いてみないと分からないのですが・・・
もし、もう一度答えていただけたら助かります。
B-Cus
1999/03/09(火) 23:48:24
MIMEでいいです。というか、普通に送ればmultipartになって、
画像ファイルはBASE64でエンコードされるはず。まずは
自分自身に送って試してみるのが吉。
匿名希望
1999/03/10(水) 03:09:28
ということはネットスケープメッセンジャーをお使いということですね。
もしあなたの送信方法がMIMEで正しく送られていて(B-Cus氏の言うとおり自分に送ればわかります)、お友達の方のメールソフトがEUDRA-Jを使っているなら以下のURLを参照してください。
http://netnavi.nikkeibp.co.jp/top/plugin/yagi/mpack.html
kanako
1999/03/10(水) 23:17:52
みなさん、本当に有難うございます。エンコードファイルについて
そして匿名さんの教えてくれた「ヤギ先生のファイル添付基礎講座」を
みて、ファイル添付の知識がつきました。あとは、実行あるのみ!
早速、友人のOSとメールソフトを確認してみます。
ただ、うまく行くか不安です。(不安がってたら何もできないけど)
あの、みなさん・・・お願いです。うまくいったか、はたまた
また疑問が生まれてうなっているかもしれません。
もし、暇があればまたこのラウンジの「kanakoの質問」を
覗いて見てくれませんか?
すみません。ここのおかげで知識が少しずつ増えてるんですが、
なにせはじめての事ばかりで・・・
よろしくお願いします。
匿名希望
1999/03/11(木) 01:38:01
参考になれば幸いです。がんばってください。
結果報告してもらえればうれしいです。
kanako
1999/03/12(金) 23:26:59
送れました!見れたとメールが返ってきました。
ありがとうございました。ホント勉強になりました。ちなみに
友達のメールソフトは「Lotus cc:Mail」と「マイクロソフトの「Outlook Express」」だそうだ。(二人とも
ウィンドウズ)。ほとんどが「BASE64」で大丈夫という事
なんですか?(ユードラ以外は)
匿名希望
1999/03/13(土) 00:10:14
おめでとうございます。今はWindowsやMacでは商用のソフトはほとんど対応しているんじゃないでしょうか?
kanako
1999/03/13(土) 13:23:16
[[解決]]
みなさんのおかげです。
また、質問あったら来ちゃおう・・・
kanako
1999/03/13(土) 13:23:30
[[解決]]
みなさんのおかげです。
また、質問あったら来ちゃおう・・・
いいづか
[E-Mail]
[HomePage]
1999/03/13(土) 15:15:40
解決後の参考意見。
文字列をBase64にエンコードするロジックは、たとえば
Perlで書いたらこんなかんじですね。
$encoded = encode_mime_B( $moji )とすれば$mojiを
単にBase64エンコードした結果が $encodedに入ってきて、
$encoded = encode_mime_B( $moji,'header' )とすれば$mojiが
無条件にJUNET(JIS)とみなしてメールヘッダ形式にえんこーど
します。ただし、MIMEでは「メールヘッダの数字・アルファベットは
エンコードしてはいけない」というとりきめなので、本当は
ちょっと変。
@d64 = (
"A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P", # 0
"Q","R","S","T","U","V","W","X","Y","Z","a","b","c","d","e","f", # 1
"g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v", # 2
"w","x","y","z","0","1","2","3","4","5","6","7","8","9","+","/" # 3
);
sub encode_mime_B {
if ( $_[1] eq 'header' ) {
$b_encoded = "=?ISO-2022-JP?B?";
} else {
$b_encoded = "";
}
for ( $ix = 0; $ix < length($_[0]); $ix += 3 ){
$encode_token = substr($_[0],$ix,3 );
$len = length($encode_token);
$encode_code = ord( substr($encode_token,0,1) ) * 256 * 256 ;
$encode_code += ord( substr($encode_token,1,1) ) * 256 if ($len >= 2);
$encode_code += ord( substr($encode_token,2,1) ) if ($len >= 3);
$b_encoded .= $d64[$encode_code >> 18 & 0x3f];
$b_encoded .= $d64[$encode_code >> 12 & 0x3f];
$b_encoded .= $d64[$encode_code >> 6 & 0x3f] if ($len >= 2);
$b_encoded .= $d64[$encode_code & 0x3f] if ($len >= 3);
}
$b_encoded .= "==" if ( $len == 1 );
$b_encoded .= "=" if ( $len == 2 );
if ( $_[1] eq 'header' ) { $b_encoded .= "?="; }
return ( $b_encoded );
}
いいづか
[E-Mail]
[HomePage]
1999/03/13(土) 15:20:15
さらに参考意見。
Microsoft Mailの古い奴(新しいやつも?)なんかはBase64に
対応していないのでUUENCODEしなくてはいけないようです。
エンコード方式の基本はBase64とおなじ(というより、Base64
がUUENCODEの変形)であり、エンコード結果表が違うだけ
です。ただしメール内で「どこからエンコードされた添付
ファイルか」を示す方法は全然違うようです。
このへんの確認で一番手っ取り早いのは、「相手にBase64と
UUENCODEの両方で小さな添付ファイルを送ってあげ、
以降はちゃんと展開できた方(両方とも展開できたらBase64)
で送る」というところですね。
kanako
1999/03/13(土) 17:55:13
[[解決]]
いいづかさん、ありがとうございました。
perlはよく分かりません。(すみません、せっかく教えて
もらったのに)少しずつ勉強してゆきます。
でも、両方送ってみる案はグッドアイディアです!
[上に]
[前に]
[次に]