Hi,这里是前端后花园,每天学习一个 JS 片段,涨涨知识🧀!今天带来的是获取字符串的字节长度代码片段。
代码片段
const byteLength = (str) => {
const utf8Bytes = new TextEncoder().encode(str);
return utf8Bytes.length;
};
分享原因
-
字符长度对于处理纯文本数据很有用,但在处理包含特殊字符(如emoji)的文本时可能会遇到问题。
-
字节长度指的是字符串在存储或传输时所占用的字节数。对于ASCII字符,每个字符占用1个字节。但对于Unicode字符(包括emoji和许多其他语言的字符),每个字符可能占用2个或更多字节。
-
在处理包含特殊字符(如emoji)的文本、表单数据或进行网络传输时,获取字节长度非常重要。
代码解析
-
new TextEncoder().encode(str)
将输入的字符串str
编码为一个Uint8Array
字节序列 -
utf8Bytes.length
获取这个Uint8Array
数组的长度,即字符串的 UTF-8 编码后的字节长度这里是JS代码片段系列,记录开发过程常见代码片段,往期精选JS代码片段:
这里是JS代码片段系列,记录开发过程常见代码片段,往期精选JS代码片段: