2008/10/30

[javascript]文字のバイト数を求める

入力された文字のバイト数を算出する機会があったので、調べてみました。

こちらのサイトを参考にさせていただくと、

function getByte(text){
  count = 0;
  for (i=0; i<text.length; i++){
    n = escape(text.charAt(i));
    if (n.length < 4) count++; else count+=2;
  }
  return count;
}

via:文字列のバイト数を求める

と書かれていました。

他にはないかなーと思って探してみるものの、燈明日記さんのJavaScriptで文字列のバイト数を求めるでも同様のやり方が書かれていました。

というわけで、ちょこっと変更して、

/* バイト数を取得する */
function gf_GetByte(aStr){
if(aStr.length == 0){return 0;}
var count = 0;
var Str = "";
for(var i=0;i <aStr.length;i++){
Str = aStr.charAt(i);
Str = escape(Str);
if( Str.length < 4 ){
count = count + 1;
}else{
count = count + 2;
}
}
return count;
}

としました。もともと、長さが0の場合は、数える必要もないので、for文に行く前に0を返すようにしました。

ってな具合に、これでバイトの計算ができるようになるかなと。

0 コメント:

コメントを投稿