Метод JavaScript для получения значений строки в Юникоде

#javascript #string #methods #unicode

#javascript #строка #методы #юникод

Вопрос:

Приведенный ниже фрагмент взят из более крупного кодового блока проекта, задача фрагмента состоит в том, чтобы получить значения в юникоде для каждого символа, и он отлично работает, начиная с чисел 1-9 (0 тоже работает), которые возвращают undefined.

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

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

Кроме того, я попробовал метод charCodeAt()
он возвращает NaN

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

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

Существует ли другой стандартный метод JavaScript для этого?

Ответ №1:

Вы вызвали его неправильно, это String.prototype.codePointAt(position) .

Итак, вам нужно передать i -й индекс в codePointAt функцию в качестве позиции строки для поиска значения в Юникоде:

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

кстати, charCodeAt() это UTF-16, где as codePointAt() Юникод.

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

Комментарии:

1. « const icons = ‘$677y8’; console.log(icons.charCodeAt(значки[1])); /* для(пусть i = 0; i < значки. длина; i ){ console.log(icons.charCodeAt(icons[i])); }*/« также возвращает NaN