JavaScript おれおれ Advent Calendar 2011 – 19日目
Twitterってちょくちょく見た事無いような文字、記号が流れてきますよね! なにそれ気になる!てな時にささっと覚えておくと幸せの予感がするのが、 .charCodeAt()
と String.fromCharCode()
です。
こんなつぶやきがあったとします。
☺
— 高梨ギンペイ / Ginpeiさん (@ginpei_jp) 12月 19, 2011
あれ、なんか絵文字みたいなの☺がありますね。なにこれ気になる!
そんな時は文字コードを調べてみましょう。文字のコードはだいたい連続しているので、付近にも同じような感じの、面白い文字が隠れているに違いありません。
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);
☸☹☺☻☼☽☾☿♀♁♂♃♄♅♆♇♈♉♊♋♌♍♎♏♐♑♒♓♔♕♖♗♘♙♚♛♜♝♞♟♠♡♢♣♤♥♦♧♨♩♪♫♬♭♮♯♰♱♲♳♴♵♶♷♸♹♺♻♼♽♾♿⚀⚁⚂⚃⚄⚅⚆⚇⚈⚉⚊⚋⚌⚍⚎⚏⚐⚑⚒⚓⚔⚕⚖⚗⚘⚙⚚⚛⚜⚝⚞⚟⚠⚡⚢⚣⚤⚥⚦⚧⚨⚩⚪⚫⚬⚭⚮⚯⚰⚱⚲⚳⚴⚵⚶⚷⚸⚹⚺⚻⚼⚽⚾⚿⛀⛁⛂⛃
— 高梨ギンペイ / Ginpeiさん (@ginpei_jp) 12月 19, 2011
わーいっぱい出て来たー。 ヽ(´∀`)ノ
ただ文字に対応していない環境ではゲタとか□とか?とかで表示されてしまったり、表示されても雰囲気がえらい違ったりする場合があります。使用する場合は相手の環境(OS、ブラウザー/クライアント)に十分留意しましょう。自分で印刷するのに使うなら気軽に使えそうですね。
というわけでえらく気を抜いた世俗的な感じの記事でした。またね。