最近、Google Docを使う機会が多いし、内部的に使われているGoogle Visualization APIもデータ解析で良く使っています。さて、これらの出力するグラフSVGデータなのですがHTMLに埋め込まれていて、コピーしたり単独のファイルとして取り出すことができません。そこで、javascriptを使って、SVGをシリアライズすることにしました。 基本的には、btoaでbase64エンコーディングして、data URLに変換しているだけなのですが、いろいろやってみたら、xmlnsの追加と、Unicode文字列の変換が必要でした。 (function($){ $.fn.extend({ svgToData : function(){ var svg = this.filter('svg') || this.find('svg'); svg.attr({ "xmlns" : "ht