できたをー!
とゆーわけでbase64エンコーダ・デコーダが出来ました。もちろんWindowsでしか動作しません。2000で動作確認とったけど、変なことは何もしてないツモリなので、95/98/MEでも普通に動くと思います。
ダウンロードはここ
をクリック。zipで圧縮してます。
また、上記ファイルをダウンロードした時点で、本ソフトで発生するいかなる損害の補償を作者に求めないことに同意したこととみなします。
お約束というヤツです。たぶん大丈夫だと思うんだけどね。
使い方
base64化したいファイル名を上側のテキストボックスに入力。
ぐいっと[エンコード]ボタンを押下しておしまい。
base64化されたb64ファイルが生成されるはずです。
生成されるb64ファイルの文字数は (元のファイルサイズ ÷ 3) × 4 + ((元のファイルサイズ Mod. 3) == 0) ? 0 : 4 で計算できます。大体33%増しになるんじゃないでしょーか。
デコードはその逆。
b64から復号される元ファイルのサイズは (b64ファイルの文字数 ÷ 4) × 3 + (b64ファイル文字数 mod. 4)2 ÷ 4で計算できる予定。おそらく33%引きになるんじゃないかなー。
あと、上記計算式と出力された圧縮・伸張率が食い違うのは改行コードを含んでるか否です。
制限事項
ファイルの中身を一気に読み込む処理にしてるので、作者を困らせてやろうと大きいファイルを読み込ませようとすると自爆しますよ?
あとサイズが大きいファイルをデコードあるいはエンコードすると少し時間かかるかもしれません。
速度重視で作ってはいるんだけど、モノには限度というものがあるわけで。
4Gバイト以上のファイルは扱えません。テストしてないけどそういう判定やってます。
ファイルのドラッグアンドドロップには対応していません。拡張子の判別ダルイ。
開発ノート
エンコード・デコードエンジンはRFC2045準拠のつもりでばっちり作ったんだけど、やっぱりUI作るのダルイ。そんなわけで、メッセージボックスを極力表示しないユーザインタフェースと、Windows XPのテーマに対応した実装の方法のトレーニングとしてテキトーにつくってみました。こんなもん作りこんでも仕方ないし。
コモンコントロールマニフェストって言うんですか?あれを添付してます。XP持ってないから確認できないけどな!
b64ファイルを指定すべき所にb64以外の形式のファイルを指定した場合の結果は保証しかねます。
アプリケーションが落ちることは無いようにはしてるんだけど…
ぶっちゃげ、このプログラムの用途は作った僕も思いつきません。使ってるメーラがbase64のデコードに対応してない時くらいかしら…
ただ、このプログラムを応用して面白いものを今作ってます。早ければ明日にでも公開するかも。
不具合報告歓迎。要望は…気が向いたら実装する方向で…






コメント
WinXP SP2で動いてます。マニフェスト効果で
ちゃんとボタンとかもXP仕様です。
UIをもう少しどうにかしようぜ。エンコードと
デコートが同じウィンドウだとあまりうれしくない。
あ,アルゴリズムの確認用UIという意味なら
問題ないか。
あと,TypeKeyだけどさ,
「あなたがコメントしようとしたウェブサイトには TypeKey サイン・インができません。ウェブサイトのオーナーに確認してみてください。」
とか言われたです。
書いた人: とよっち。 | 2005年02月26日 15:10
追加。
VMWare上のWindows98SEにて動作を確認しました。
書いた人: とよっち。 | 2005年02月26日 15:21
>トヨーティ
動作確認さんきゅー。
UIがあっさり塩味なのはご指摘の通り。
TypeKeyは…そのうち直すぽ。
書いた人: ping@admin | 2005年02月28日 07:30