标签:
合计: 52156 个
占用4个字节的范围
合计: 64029 个
所以,我认为答案应该是:3个或4个字节。
方法一:循环遍历
参考:http://www.cnblogs.com/sniper007/p/3309787.html
1 //字符编码数值对应的存储长度: 2 //UCS-2编码(16进制) UTF-8 字节流(二进制) 3 //0000 - 007F 0xxxxxxx (1字节) 4 //0080 - 07FF 110xxxxx 10xxxxxx (2字节) 5 //0800 - FFFF 1110xxxx 10xxxxxx 10xxxxxx (3字节) 6 String.prototype.getBytesLength = function() { 7 var totalLength = 0; 8 var charCode; 9 for (var i = 0; i < this.length; i++) { 10 charCode = this.charCodeAt(i); 11 if (charCode < 0x007f) { 12 totalLength++; 13 } else if ((0x0080 <= charCode) && (charCode <= 0x07ff)) { 14 totalLength += 2; 15 } else if ((0x0800 <= charCode) && (charCode <= 0xffff)) { 16 totalLength += 3; 17 } else{ 18 totalLength += 4; 19 } 20 } 21 return totalLength; 22 } 23 var str="你好吗?111?"; 24 alert("字符数"+str.length+" ,字节数"+str.getBytesLength()); 25 //Java中的字节数==="字符串".getBytes("UTF-8").length 26 //-->
方法二:使用正则表达式
待整理
标签:
原文地址:http://www.cnblogs.com/yingsong/p/5819311.html