求一个字符串的字节长度

求一个字符串的字节长度,字符串有一个方法charCodeAt(); 一个中文占两个字节,一个英文占一个字节,
charCodeAt() 方法可返回指定位置的字符的Unicode编码,这个返回值是0-65535之间的整数。
当返回值<=255时为英文,当返回值>255时为中文
语法
stringObject.charCodeAt(index)

function  retByteslen(target){
	var  count=0;
	for(var i=0; i<target.length; i++){
		if(target.charCodeAt(i) <=255){ count +=1;}
		else{count +=2; }
	}
console.log(count);
}
retByteslen("very good");          //9
retByteslen("伟大的中国")//10

一般都会这么写,但是还有一种方法,
一般字符串中 除了英文(含空格),就是中文,如果字符串都是英文,那这个字符串的长度,和字节长度就一样了(所以可以开始的时候,count 的初始值设置为字符串的长度),如果字符串里边有中文文字,那么 有几个文字,就在原来字符串的长度上 加几,最后得到的结果,也就是我们需要的那个数字了

function  retByteslen(target){
	var  count=target.length;
	for(var i=0; i<target.length; i++){
		if(target.charCodeAt(i) >255){ count +=1; }
}
console.log(count);
}
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值