ローカルストレージを読み書く

SafariChromeだとローカルストレージの実体はSQLiteのDBファイル。WebKit由来なのか今のところ、両ブラウザでこのファイルは互換してる。Macだとそれぞれ

~/Library/Safari/LocalStorage
~/Library/Application Chrome/Default/Local Storage

にファイルがある。これを読み書きするRubyスクリプトが以下。


ローカルストレージのDBの構造はいたってシンプルで、ItemTableっていうテーブルにkeyカラム, valueカラムがあるだけ。これがLocalStorage.setItem(key, value)に対応する。ただ一点、注意点があって(SafariChromeの)consoleでLocalStorage.setItem("あ", "い")ってやると、keyはUTF-8、valueはUTF-16LEになる。keyはUTF-8と言うか入れたデータそのままなのかなーと思うけど、valueはUTF-16LEになる。なので読み書きするときはそこを意識する必要がある。

以上!