JS计算字符长度、字节数 -- 转
2017-01-17 14:30
295 查看
一个汉字在UTF-8编码中占用几个字节?
占用3个字节的范围
U+2E80 - U+2EF3 : 0xE2 0xBA 0x80 - 0xE2 0xBB 0xB3 共 115 个
U+2F00 - U+2FD5 : 0xE2 0xBC 0x80 - 0xE2 0xBF 0x95 共 213 个
U+3005 - U+3029 : 0xE3 0x80 0x85 - 0xE3 0x80 0xA9 共 36 个
U+3038 - U+4DB5 : 0xE3 0x80 0xB8 - 0xE4 0xB6 0xB5 共 7549 个
U+4E00 - U+FA6A : 0xE4 0xB8 0x80 - 0xEF 0xA9 0xAA 共 44138 个
U+FA70 - U+FAD9 : 0xEF 0xA9 0xB0 - 0xEF 0xAB 0x99 共 105 个
合计: 52156 个
占用4个字节的范围
U+20000 - U+2FA1D : 0xF0 0xA0 0x80 0x80 - 0xF0 0xAF 0xA8 0x9D 共 64029 个
合计: 64029 个
所以,我认为答案应该是:3个或4个字节。
占用3个字节的范围
U+2E80 - U+2EF3 : 0xE2 0xBA 0x80 - 0xE2 0xBB 0xB3 共 115 个
U+2F00 - U+2FD5 : 0xE2 0xBC 0x80 - 0xE2 0xBF 0x95 共 213 个
U+3005 - U+3029 : 0xE3 0x80 0x85 - 0xE3 0x80 0xA9 共 36 个
U+3038 - U+4DB5 : 0xE3 0x80 0xB8 - 0xE4 0xB6 0xB5 共 7549 个
U+4E00 - U+FA6A : 0xE4 0xB8 0x80 - 0xEF 0xA9 0xAA 共 44138 个
U+FA70 - U+FAD9 : 0xEF 0xA9 0xB0 - 0xEF 0xAB 0x99 共 105 个
合计: 52156 个
占用4个字节的范围
U+20000 - U+2FA1D : 0xF0 0xA0 0x80 0x80 - 0xF0 0xAF 0xA8 0x9D 共 64029 个
合计: 64029 个
所以,我认为答案应该是:3个或4个字节。
//字符编码数值对应的存储长度: //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 ((0x0080 <= charCode) && (charCode <= 0x07ff)) { totalLength += 2; } else if ((0x0800 <= charCode) && (charCode <= 0xffff)) { totalLength += 3; } else{ totalLength += 4; } } return totalLength; } var str=","; alert("字符数"+str.length+" ,字节数"+str.getBytesLength());
相关文章推荐
- JS计算字符长度、字节数
- 处理字符串的一些js/jq方法(去除HTML,去除空格,计算真实长度,截取中英文字符)
- 处理字符串的一些js/jq方法(去除HTML,去除空格,计算真实长度,截取中英文字符)
- JS计算中英文混合字符长度
- js字符串长度计算(一个汉字==两个字符)和字符串截取
- JS计算字符串长度(汉字算作两个字符)
- js计算一个字符中包括中英文的长度,中文占2个字符,汉子和英文占1个字符
- 修改jquery.validate.js计算中文字符长度的规则。
- Java字符串 字节数计算 截取长度
- js计算字符的长度,匹配双字节字符(包括汉字)
- JS计算字符串字符长度
- 输入一串字符,计算其长度
- JS控制输入字符长度
- 汉字和字符组合的长度计算
- js限制字符长度
- js截取指定长度字符
- JS计算字符串字节数
- 计算字符串的长度(一个汉字算两个字符)
- JS邮箱正则验证并限制字符长度
- js 计算字符串长度(含中文)