首页 > 解决方案 > 获取字符串的 unicode 值的 JavaScript 方法

问题描述

下面的代码片段来自一个更大的项目代码块,代码片段的工作是获取每个字符的unicode 值,它可以正常工作,从返回undefined的数字 1-9 (0 也可以)。

const icons = '$677y8';
for(let i = 0; i < icons.length; i++){

console.log(icons.codePointAt(icons[i]));
}

另外,我尝试了返回NaN的charCodeAt()方法

const icons = '$677y8';
for(let i = 0; i < icons.length; i++){

console.log(icons.charCodeAt(icons[i]));
}

是否有另一种标准的 JavaScript 方法来完成这项工作?

标签: javascriptstringmethodsunicode

解决方案


你调用错了,它是String.prototype.codePointAt(position)

因此,您需要将i第 th 索引codePointAt作为字符串的位置传递给函数以查找 Unicode 值:

const icons = '$677y8';
for (let i = 0; i < icons.length; i++) {
  console.log(icons.codePointAt(i));
}

顺便说一句,charCodeAt()UTF-16,其中codePointAt()Unicode

//gets UTF-16 values
const icons = '$677y8';
for (let i = 0; i < icons.length; i++) {
  console.log(icons.charCodeAt(i));
}


推荐阅读