字符串的字节数

<script type="text/javascript">
<!--
/**字符编码数值对应的存储长度:    
UCS-2编码(16进制) UTF-8 字节流(二进制)   
0000 - 007F       0xxxxxxx (1字节)    
0080 - 07FF       110xxxxx 10xxxxxx (2字节)    
0800 - FFFF       1110xxxx 10xxxxxx 10xxxxxx (3字节)   
*/
String.prototype.getBytesLength = function() { 
	var totalLength = 0;   
	var charCode;
	for (var i = 0; i < this.length; i++) {
		charCode = this.charCodeAt(i);
		if (charCode < 0x007f) {   
            totalLength++;   
		} else if (charCode <= 0x07ff) {   
            totalLength += 2;   
        } else if (charCode <= 0xffff) {   
            totalLength += 3; 
        } else{
			totalLength += 4; 
		}        
	}
	return totalLength; 
}
var str="my字符串образования";
alert("字符数"+str.length+" ,字节数"+str.getBytesLength());  
//Java中的字节数==="字符串".getBytes("UTF-8").length 
  //-->
</script>

 

 

你可能感兴趣的:(JavaScript,prototype)