JavaScript おれおれ Advent Calendar 2011 – 19日目

Twitterってちょくちょく見た事無いような文字、記号が流れてきますよね! なにそれ気になる!てな時にささっと覚えておくと幸せの予感がするのが、 .charCodeAt()String.fromCharCode()です。

こんなつぶやきがあったとします。

あれ、なんか絵文字みたいなのがありますね。なにこれ気になる!

そんな時は文字コードを調べてみましょう。文字のコードはだいたい連続しているので、付近にも同じような感じの、面白い文字が隠れているに違いありません。

var code = "☺".charCodeAt(0);  // コード取得
var c = String.fromCharCode(code + 1);  // 隣のコードの文字を取得
console.log(c);  // => "☻"

あ、黒いのがいた!  またcode + 1でなくcode - 2も近い感じの文字が出てきました。

というわけでforでざーっと探してみましょう。

var code = '☺'.charCodeAt(0) - 2;
var str = '';
for (var i = 0; i < 140; i++) {
  str += String.fromCharCode(code+i);
}
console.log(str);

わーいっぱい出て来たー。 ヽ(´∀`)ノ

ただ文字に対応していない環境ではゲタとか□とか?とかで表示されてしまったり、表示されても雰囲気がえらい違ったりする場合があります。使用する場合は相手の環境(OS、ブラウザー/クライアント)に十分留意しましょう。自分で印刷するのに使うなら気軽に使えそうですね。

というわけでえらく気を抜いた世俗的な感じの記事でした。またね。

関連?