base64コーデックのjQuery Pluginを作った

webアプリケーションを作るのに必要になったので、jQuery向けのbase64コーデックプラグインを作りました。

githubにソースがあります.
https://github.com/yatt/jquery.base64

  • atob/btoaが使える場合そちらを使い(ネイティブコードでサポートされるのでずっと速い)、無い場合(IEなど)はjsで処理
  • グローバルな名前空間は汚さない

なので、扱い安いし速いし、IEでもちゃんと動きます。

使い方:
jquery.jsをインクルードした後でjquery.base64.jsを読み込んで、

$.base64.encode('hello world')
$.base64.decode('aGVsbG8gd29ybGQ=')
$.base64.codec // atob/btoaが使える場合'builtin', そうでない場合は'alternate'

という感じ。

対応している、というか動作を確認したブラウザは

  • chrome12
  • firefox3
  • IE8

です。まあ大体動くんじゃないでしょうか・・(てきとう

btoa/atobが使えない場合のjs上のbase64の実装は、3つの実装を200Kのテキストデータの処理時間で比較して、一番早いものを1行だけ修正して引用させてもらいました。dankogaiの実装です。
ちなみに

  1. http://user1.matsumoto.ne.jp/~goma/js/base64.html
  2. http://blog.livedoor.jp/dankogai/archives/51067688.html
  3. https://code.google.com/p/javascriptbase64/

の順で速かったです。実行時間は1<2<<3という感じ。