gpt4 book ai didi

javascript - 如何确定 codePointAt 结果的宽度?

转载 作者:行者123 更新时间:2023-11-30 11:33:16 24 4
gpt4 key购买 nike

我正在尝试遍历 Javascript 字符串中的 Unicode 字符,我假设它是用 UTF-16 编码的。

据我了解,UTF-16 是可变宽度。也就是说,单个 Unicode 字符可以拆分为多个 16 位字符。我可以使用 s[i].codePointAt 获取从给定代码点开始的 Unicode 字符。但是一旦我拥有它,我怎么知道我要前进多远?

粗略地说,这里的getWidth 是什么?它只是 c > Math.pow(2, 16) 吗?

for (var i = 0; i < s.length;) {
var c = s.codePointAt(i);
// do some operation with c
i = i + getWidth(c)
}

是否有一个标准库函数可以用来确定前进的距离?或者迭代字符串中 Unicode 代码点的方法?

最佳答案

Is there a standard […] way to iterate over the Unicode code points in a string?

是的,从 ES6 开始你可以简单地 iterate获取代码点的所有字符串:

for (const character of string) {
const codepoint = character.codePointAt(0);
// do some operation with codepoint
}

关于javascript - 如何确定 codePointAt 结果的宽度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45475216/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com