時々文字列を見てその素性を調べたいことがある。とりあえず文字のUnicodeコードポイントが分かれば色々と調べることもできるのだが、案外そういったものが見つからず不便だった(探し方が悪いのかもしれない)。
ブラウザでできたらいいなあと思ったのでJavascriptで作ってみた。ブックマークレットとして動くはず。
Firefox だとTwitterとか一部のサイト(Content Security Policyが設定されたサイト)でブックマークレットを実行するには設定を変える必要があるらしい。
コード
alert 版
(function(){s="";[...document.getSelection().toString()].forEach(function(v,i,a){s+=v+": U+"+v.codePointAt(0).toString(16)+"; "});alert(s);})();
console.log 版
[...document.getSelection().toString()].forEach(function(v,i,a){console.log(v+": U+"+v.codePointAt(0).toString(16));});
何をやっているのか
console.log 版の方を冗長に書くとこんな感じになる。alert版も大体同じ。
選択した文字列 = document.getSelection().toString(); 一文字毎の配列 = [...選択した文字列]; forEachに渡す関数 = function(文字, インデックス, 元の配列){ コードポイント = 文字.codePointAt(0); コードポイントの16進数 = コードポイント.toString(16); 出力 = 文字 + ": U+" + コードポイントの16進数; console.log(出力); } 一文字毎の配列.forEach(forEachに渡す関数);
日本語変数名キモいですが一応ちゃんと動きます。