「JavaScript UTF-8文字列のバイト数を得る」の版間の差分
ナビゲーションに移動
検索に移動
| 1行目: | 1行目: | ||
==JavaScript UTF-8文字列のバイト数を得る== | ==JavaScript UTF-8文字列のバイト数を得る== | ||
| − | [[文字化けの対処]][[JavaScript]] | + | [[文字化けの対処]] | [[JavaScript]] | |
====参考==== | ====参考==== | ||
2020年2月15日 (土) 08:36時点における版
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 矢木浩人