计算字符串字节数

1
2
3
4
5
6
7
8
9
10
11
12
13
function calcBit(str) {
if (!arguments.length || !str) return null;
if ("" == str) return 0;
var num = 0;
for (var i = 0; i < str.length; i++) {
if (str.charCodeAt(i) > 255) {
// 汉字的 uniCode 码大于 255bit 就是两个字节
num += 2;
} else num += 1; // charCodeAt() 得到的是 uniCode 码
}

console.log(num);
}