2006年01月13日
川俣晶の縁側ソフトウェアその他開発日誌 total 10121 count

エンコード指定できる手動URLエンコーダ

Written By: 川俣 晶連絡先

 エンコード指定できる手動URLエンコーダが欲しかったのですが、軽く検索した範囲で見つからなかったので、ASP.NET 2.0の練習を兼ねて作ってみました。

 しかし、ASP.NET 2.0はえらいじゃじゃ馬で、配置の段階でトラブルの山を築いてくれたので、ASP.NET 1.1で作り直しました。トラブルは解決可能と思ったのですが、実際に使う用事があったので、動かす方を優先しました。

機能 §

  • 文字列をURLエンコード表記にエンコードします
  • URLエンコード表記を元の文字列にデコードします
  • その際に使用する文字エンコードの種類は選択可能とします
  • UTF-8, Shift_JIS, EUC-JP, ISO-2022-JP, ISO-8859-1はリストから選ぶだけ。その他は、テキストボックスに名前を入れれば使用できます。(IANA chatsetsの名前。.NET Frameworkクラスライブラリが対応する名前は全て使用可能)

どういう時に使うものか? §

 日本語ファイル名を含むURLを事前に適切にエンコードしたい場合。

 URLエンコードされた文字列の正体が良く分からないときに、文字エンコードを変えながら試行錯誤して内容を調べたい場合。

もっと直接的に言うと…… §

 Firefox 1.5のアドレス欄に日本語文字含むURLを入力するとURLエンコードしてくれるのですが、実はたまたまUTF-8のページを見ている時にはUTF-8でURLエンコードされ、たまたまシフトJISのページを見ている時にはShift_JISでURLエンコードされるという現象に出くわしました。当然、UTF-8でエンコードされることを期待しているサーバに対して、シフトJISでエンコードしたURLを投げても「ファイルが見つからない」という結果にしかなりません。

 これは手抜きしないで、事前に正しいエンコード(=サーバ側が正しく解釈できる)に手動エンコードしておかないと危険だな……と思ったのが作った理由です。