JavaScript UTF-8文字列のバイト数を得る
ナビゲーションに移動
検索に移動
JavaScript UTF-8文字列のバイト数を得る
[[文字化けの対処][JavaScript]]
参考
以下を参考に
例
/*
* 指定された文字列のバイト長(UTF-8)を得る
*/
function getBytes(str) {
// URLエンコードされる文字列
var ESCAPECHAR = ";,/?:@&=+$ ";
// URLエンコードされたUTF-8文字列表現の桁数とバイト数の対応テーブル
// encodeURI("あ") → "%E3%81%82" (9桁) → 3バイト
var ESCAPEDLEN_TABLE = [ 0, 1, 1, 1, 2, 3, 2, 3, 4, 3 ];
var size = 0;
if (str == null || str == "") {
return size;
}
for (var i=0; i<str.length; i++) {
var c = str.charAt(i);
if (ESCAPECHAR.indexOf(c) >= 0) {
size++;
} else {
size += ESCAPEDLEN_TABLE[encodeURI(c).length];
}
}
return size;
}
© 2006 矢木浩人