JavaScriptで文字数でなくてバイト数を求める

JavaScriptで、テキストの文字数でなくてバイト数を求める方法。

●まずは文字数
var str = 'This is a test. これはテストです。';
alert(str.length);
●こちらがバイト数
var str = 'This is a test. これはテストです。';
alert(encodeURIComponent(str).replace(/%../g,'c').length);
軽く解説:
encodeURIComponentは特定の文字をUTF8としてURLエンコードする関数。(%xxという形にしてくれる)
これを利用して、%xxを正規表現で'c'という文字に置き換えた文字列の文字数を計算するとバイト数になるというわけ。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です