¥u(Unicode/UTF-16)文字列を可読変換するブックマークレット

UTF-16(Unicode)で書かれた文字列をブラウザ上でデコードするブックマークレットです。ちょこっと化けたところを読むときにどうぞ。Favstar.fmのトップツイートも読めます。でへ。

¥u(Unicode/UTF-16)文字列を可読変換するブックマークレット

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 というサイトがあります。ユーザごとの人気ツイートが一覧表示されるので、人によっては自己紹介代わりにリンク張ってる人もいるくらいにはメジャーなサービスと言えるでしょう。

Favstarのトップツイート閲覧が課金制に

ここのソースはツイート本文がUTF-16で書かれてますね。

エンコードが何であろうと普通はブラウザが何とかしてくれるわけですが、このたびFavstarの仕様が変わって課金しないとトップツイートが閲覧できなくなりました。

でも表向き表示されなくなっただけでデータそのものは残ってるので、このブックマークレットを使えばとりあえず内容が確認出来るというわけでした。

Favstarのトップツイートを読む

ケチくさいのは承知の上だけど、RT自慢したいネタツイッタラーになった暁にはお金払いまーす。