2010/12/27

文字コードテーブルを書いた

とくにネタが思い浮かばなかったので、jsで文字コードテーブルを書いた。


(function() {
// counter
var i;
// limit
var lim = 128;
// strings
var str = '';
var getChar = function(idx) {
var chara = String.fromCharCode(idx);
switch (chara)
{
case '\b' :
return 'バックスペース';
break;
case '\t' :
return 'タブ文字';
break;
case '\n' :
return '改行';
break;
case '\v' :
return '垂直タブ';
break;
case '\f' :
return 'LF 改行ページ';
break;
case '\r':
return 'CR 復帰';
break;
case '\"' :
return 'ダブルクオーテーション';
break;
case '\'' :
return 'シングルクオーテーション';
break;
case '\\' :
return 'バックスラッシュ';
break;
default :
return chara;
}
};

for (i = 0; i < lim; i++) {

str += i + ' : [' + getChar(i) + '], ';

if ((i + 1) % 10 == 0) {
str += '\n';
}
}

console.log(str);
})();



getChar関数の処理で、switch文をオブジェクトリテラルで書き換えると以下のようになります。

var getChar = function(idx) {
var chara = String.fromCharCode(idx);

var escapeChara = {
'\b' : 'バックスペース',
'\t' : 'タブ文字',
'\n' : '改行',
'\v' : '垂直タブ',
'\f' : 'LF 改行ページ',
'\r': 'CR 復帰',
'\"' : 'ダブルクオーテーション',
'\'' : 'シングルクオーテーション',
'\\' : 'バックスラッシュ',
};

return escapeChara[chara] || chara;
};