面试官问获取字符串的字节长度,我直接说点length

1 这是一道面试题

昨天老张顶着烈日去面试了,今天早上我刚一来公司,

他就赶紧悄悄问我:你知道怎么获取一个字符串的字节长度吗?

我说,这个字节长度,难道不是所谓的点length吗?这不是字符串的基本属性吗?

他说不是,昨天面试官问他了,他也说点length,但面试官当时的表情,很明显就是错了。

我还是不太信,所以在电脑上试了一下

ini 复制代码
const str1 = 'Hello world!!!';
const str2 = '我是The first one,😶 HaHa~';
console.log('第一个字符串的长度:', str1.length);
console.log('第一个字符串的长度:', str2.length);

看着好像是不太对啊。

2 获取字符串长度和字节长度的不同

后来我们又赶紧问了一下组里的老懂,他是组里的懂哥,希望他会。懂哥给我们介绍说:

字符串长度是指字符串中字符的数量,也不是字节数的数量啊,单纯说的是字符的数量。而字节长度是指字符串在特定编码下占用的字节数。

字符串长度,我们平时就是可以直接点length就可以,比如检测个密码长度啦,检测个手机号长度啦。但前几天,他们组做那个海外项目,不是经常要展示出多少字节嘛,就跟那个不一样啦。你们去问问他们,字节长度是咋显示的不就行了。

3 快捷获取字节长度的方法

后来我们找到了老王,老王高兴的说,哈哈,有个库,获取字节长度挺方便的。

3.1 安装js-tool-big-box工具库

执行安装命令

npm install js-tool-big-box

3.2 引入 stringBox 对象

获取字节长度的公共方法,就在这个对象下面,是 byteLength 方法。

javascript 复制代码
import { stringBox } from 'js-tool-big-box';

3.3 获取字节长度

引入stringBox对象后,就可以使用这个方法,获取字节长度了,挺方便的。拿我们刚才那2个字符串举例呢就是:

ini 复制代码
    const str1 = 'Hello world!!!';
    const str2 = '我是The first one,😶 HaHa~';
    const str1ByteLength = stringBox.byteLength(str1);
    const str2ByteLength = stringBox.byteLength(str2);
    console.log('Hello world!!!的字节长度是:', str1ByteLength);
    console.log('我是The first one,😶 HaHa~:', str2ByteLength);

你看,结果立马就不一样了。

4 最后

后来,我和老张的项目里也用到了获取字节长度的场景,我们快速的使用了js-tool-big-box这个工具库,不管在Vue项目里,还是React项目里,使用起来都很方便快捷。

相关推荐
木子.李34716 分钟前
排序算法总结(C++)
c++·算法·排序算法
集成显卡1 小时前
PlayWright | 初识微软出品的 WEB 应用自动化测试框架
前端·chrome·测试工具·microsoft·自动化·edge浏览器
闪电麦坤951 小时前
数据结构:递归的种类(Types of Recursion)
数据结构·算法
前端小趴菜052 小时前
React - 组件通信
前端·react.js·前端框架
Amy_cx2 小时前
在表单输入框按回车页面刷新的问题
前端·elementui
Gyoku Mint2 小时前
机器学习×第二卷:概念下篇——她不再只是模仿,而是开始决定怎么靠近你
人工智能·python·算法·机器学习·pandas·ai编程·matplotlib
dancing9992 小时前
cocos3.X的oops框架oops-plugin-excel-to-json改进兼容多表单导出功能
前端·javascript·typescript·游戏程序
纪元A梦2 小时前
分布式拜占庭容错算法——PBFT算法深度解析
java·分布式·算法
px不是xp3 小时前
山东大学算法设计与分析复习笔记
笔记·算法·贪心算法·动态规划·图搜索算法
后海 0_o3 小时前
2025前端微服务 - 无界 的实战应用
前端·微服务·架构