タグ

ブックマーク / sawat.hatenablog.com (3)

  • Unicodeエスケープ - sawatのブログ

    付箋紙Greasemonkeyで、GM_setValueに登録した日語の文字化け対策にencodeURIをつかったけど、encodeURIはURIをエンコードするための関数なのであんまり褒められた使い方ではないですね。しかも、encodeURIのようなURLエンコーディングは文字列をUTF-8にしてから、エンコード対象の各バイトを%xx形式*1で表現するので、日語1文字をあらわすのにたいていの場合ASCII9文字が必要になって効率が悪いです。*2 なので、前述のような単に非ASCII文字をエスケープしたいだけのようなケースではUnicodeエスケープを使った方がよいです。Javaのpropertiesとかnative2asciiとかのやつです。 Unicodeエスケープは\uxxxx*3の形式であらわすので、たいていの日語1文字はASCII6文字になって、URLエンコーディングに比べ

    Unicodeエスケープ - sawatのブログ
  • クライアントサイドWeb付箋紙 Greasemonkey - sawatのブログ

    グリモンでこんなの作ってみました。 図1: はてなのトップページに付箋紙をぺたぺた貼り付けてみた これは何? Greasemonkeyを使ったWeb付箋紙ツールです。 Web上の任意のページにメモを貼り付けておくことができます。 GreasemonkeyのGM_getValue/GM_setValueを使ってデータをクライアントサイドに保存します。 そのためログイン不要で使えますけど、複数端末で共有したり、他の人に見せてあげたりはできません。 作成動機 まるごとJavaScript & Ajax ! Vol.1に載っていたFirefox2.0のクライアントサイドストレージを使って何かできないかなと思って作りました。最初、普通の<script>タグでスクリプトを読み込まして作って*1ちゃんと動いたのですが、Greasemonkeyのuser.jsとして動かしたら、なぜかクライアントサイドスト

    クライアントサイドWeb付箋紙 Greasemonkey - sawatのブログ
    k_37to
    k_37to 2007/02/28
    クライアントサイドWeb付箋紙 Greasemonkey
  • ローカル変数も展開したい! - sawatのブログ

    弾さんのとこで、JavaScriptでテキスト内の変数展開をやる方法がでてる。 テキスト内の変数展開はいつも欲しいと思う。+で文字列を連結するのうざい!というわけで作ってみました。 function interpolate(str){ return str.replace(/#\{([^\}]+)\}/g, function(m0,m1){ var v = ''; try{ v = eval(m1); }catch(e){ v = e } return v; }); } http://blog.livedoor.jp/dankogai/archives/50766443.html でも、 先生、これじゃローカル変数が展開できません! なので、こんな感じでいかがでしょう? function interpolate(str) { return "\""+ str.replace(/\\/g,

    ローカル変数も展開したい! - sawatのブログ
    k_37to
    k_37to 2007/02/22
    stringオブジェクトを拡張してやれば便利に使えそう
  • 1