UTF-16エンコードの文字列を、その場でチャチャっと確認したい面倒くさがりに贈るブックマークレットでございます。
割と誰得ですけど、自分が欲しかったので作りました。
\uで始まるUTF-16の文字列を可読にする
ネットでUTF-16の文字列を見かけたら選択反転して以下のブックマークレットを起動して下さい。メッセージアラートのウィンドウに可読化された文字列が表示されます。
UTF-16をデコード ←このリンクをブラウザでブックマークする
わざわざエディタに流し込むほどではない分量のコードを読むとき地味に便利です。
UTF-16デコーダ仕様
正確な挙動についてはソースをご確認下さい。選択された文字列を変換して出力してます。一応クロスブラウザ対応になってるはずですが、IEで動かなかったらご教示下さいませ。
自分用なので細かい処理はしてません。エンコードが異なる、文字列が足りない等の不適切なデータが入ってきた場合は何も起こりません。
以下ソースです。
【Javascript】javascript:var s=(function(){if('\v'==='v'){return'"'+document.selection.createRange().text+'"';}else{return'"'+window.getSelection().toString()+'"';}})();var j=JSON.parse(s);{alert(j);}
UTF-16エンコードの見分け方
そもそもUTF-16エンコードってどんなもの?…というときの見分け方について簡単に書いておきます。
UTF-16は、Unicodeを表す文字コードの一種です。
Unicodeで定義される文字は、データとして格納されるときUTF-8やUTF-16などの方式で符号化されます。このとき『\区切りでuから始まる16進数の文字列』であらわされるのがUTF-16エンコードの特徴。
具体的にはこんな感じの書式です。
【UTF-16】\u3053\u3093\u306A\u611F\u3058\u306E\u30B3\u30FC\u30C9\u306B\u5909\u63DB\u3055\u308C\u307E\u3059\u3002
Favstar.fmのベストツイートを読む
例えばTwitter関連サービスで Favstar というサイトがあります。ユーザごとの人気ツイートが一覧表示されるので、人によっては自己紹介代わりにリンク張ってる人もいるくらいにはメジャーなサービスと言えるでしょう。
ここのソースはツイート本文がUTF-16で書かれてますね。
エンコードが何であろうと普通はブラウザが何とかしてくれるわけですが、このたびFavstarの仕様が変わって課金しないとトップツイートが閲覧できなくなりました。
でも表向き表示されなくなっただけでデータそのものは残ってるので、このブックマークレットを使えばとりあえず内容が確認出来るというわけでした。
ケチくさいのは承知の上だけど、RT自慢したいネタツイッタラーになった暁にはお金払いまーす。
コメントをどうぞ(´ω`*)