今までは文字化けするのは amazon とかのダイレクトメールなので読めなくても気にしなかったのだが、blogger から届くメールも文字化けして読めないのが気になったので、簡単に文字エンコードを変換するアプリを作ってみた
といってもzero3自体に機能を追加することは出来ないので、文字化けしたメッセージをクリップボードにコピーして、その内容を変換して表示する。
本当は表示中のウィンドウから自動的に文字列を取得するようにしたかったけどやり方がわからなかった
codechange1.00
cab ファイル
実行には COMPACT FRAME WORK2.0 が必要
zero3[es]でしか試してません
変換できるのはエンコード形式が quoted-printable のもの
以下のようなメール本文であれば全文コピーしてから本アプリを立ち上げると変換した内容を表示する(はず)
------=_Part_152422_16855343.1180230507078
Content-Type: text/plain; charset=ISO-2022-JP
Content-Transfer-Encoding: quoted-printable
Amazon.co.jp=1B$B$N$*5RMM$X!"=1B(B
Amazon.co.jp=1B$B$G!"0JA0$K!X=1B(BDesign Wave MAGAZINE (=1B$B%G%6%$%s=1B(B =
最初の3行でエンコード形式を判定しているので、これがないと正しく変換できないと思う
さらに最初の一行目の区切り文字列が"-----=xxxx"でないと正しく判別できない事がある。
amazon の注文確認メールは正しく判別できないどころか例外を出してしまった
一応 base64 と text/html も変換するようにしてみた
html は標準では表示しないで、メニューから html表示 をチェックしてから再読込をチェックすると表示するようにした(html内にで外部リンクが含まれるとダイアルアップしてウザイので)
プログラムコードは C# で書いた
ネイティブアプリではないので起動にちょっと待たされる。さらに、クリップボード内の文字列が大きいと変換に結構待たされる。
改善点としては結構あって
- 例外が出ないようにしたい
- 文字列の変換を無駄に何度も行っているので処理が重い
- ネイティブアプリにしたい
- アクティブウィンドウ内の文字列を自動で取り込みたい
- html のon/off を簡単にしたい
zero3メールを使わないでちゃんとデコードしてくれるメーラーを使ったほうが良い気もする。そんなものがあるのかどうか知らないけどね。使ってないし使いたくないので知らないけど、MSのメーラーは大丈夫なのかな?
0 件のコメント:
コメントを投稿