JavaScript|计算字符串的字节数
时间:2022-07-22
本文章向大家介绍JavaScript|计算字符串的字节数,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
问题描述
问题中提到计算字节数,首先需要对字节进行了解,Byte数是一个单位计量数值,其中字符串中单个的字符(英文、数字、特殊字符等)为一个字节,中文汉字是两个字节。
解决方案
1.正则表达式法
由于中英文字符所占字节数不一样,但英文字符字节数和字符长度一致,因此,可以将一个中文字符替换为两个任意英文字符,便能直接用length计数。
因为JS使用Unicode编码,因此,这里用[^x0000-x00ff]来匹配中文汉字字符(双字节字符)。
代码如下:
function getBytesLength(str) {
return str.replace(/[^x0000-x00ff]/g, '我是xxx').length;
}
2.循环判断计数法
这里依然需要用正则判断为中文字符或英文字符,英文字符计数累加1,中文字符计数累加2。
需要用到JS中的函数:charAt(num) 获取字符串的num位置的字符。
代码如下:
var str='我是xxx';
function BytesCount(str){
var cnt = 0;
for(var i=0; i<str.length; i++){
var c = str.charAt(i);
if(/^[u0000-u00ff]$/.test(c)){
cnt++;
}else{
cnt+=2;
}
}
return len;
}
结语
本例中在使用正则表达式时,使用的是匹配双字节字符的[^x0000-x00ff],其中也包含中文字符;而专门匹配中文字符的正则表达式是[u4e00-u9fa5]。
END
主 编 | 王楠岚
责 编 | wrape
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 深入浅出java虚拟机
- Maven resources 分环境
- JetBrains Upsource(上源) 研究
- Spring JPA 拓展
- python自学成才之路 死锁的解决方案
- C++核心准则T.40: 使用函数对象向算法传递操作
- web页面性能优化总结及原理解释
- C++核心准则T.41:在模板概念中只对本质属性定义需求
- Linux实用技巧——mail发送邮件命令以及中文乱码解决
- Julia机器学习实战——使用Random Forest随机森林进行字符图像识别
- Python函数——Numpy size()
- Day 1:二维数组中查找
- Day 2:替换空格
- Prometheus监控神器-Kubernetes篇(三)
- julia简易教程——安装Julia+jupyter notebooks