首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JavaScript按字节长度截断文本

JavaScript按字节长度截断文本
EN

Stack Overflow用户
提问于 2019-09-03 10:07:06
回答 2查看 670关注 0票数 0

我希望将一段utf8编码的文本截断为给定的长度(以字节为单位)。例如,如果文本是

代码语言:javascript
复制
Hello , I like rice cakes ¯\_(ツ)_/¯

我想将该文本截断为最多10个字节。

我找到了截断-utf8 8-字节 NPM模块,它完全满足了我的需要,不幸的是,我正在从事的项目不使用webpack或浏览器,因此我无法使用这些NPM模块。

所以我想知道是否有一种可靠的方法来截断文本,或者是否有一种方法可以让我在浏览器中使用截断-utf8 8-字节模块。

谢谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-09-03 10:28:28

假设您知道文本的编码,这样的东西应该可以工作:

代码语言:javascript
复制
let str = 'Hello , I like rice cakes ¯\_(ツ)_/¯';
let enc = new TextEncoder();
let dec = new TextDecoder('utf-8');
let uint8 = enc.encode(str)
let section = uint8.slice(0,11)
let result = dec.decode(section);
console.log('result', result);
票数 1
EN

Stack Overflow用户

发布于 2021-11-04 17:13:49

答案1很好,但是您可以考虑将它添加到末尾,以避免出现被截断的中间字符的无效字符:

代码语言:javascript
复制
result.replace(/\uFFFD/g, '')
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57769465

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档