Каков простой способ вызвать Asc() и Chr() в JavaScript для значений Unicode?

Поскольку JavaScript uses UCS-2 internally, String.fromCharCode(codePoint) не работают javascript-execution с дополнительными символами javascript-disabled Юникода. Например, если codePoint равен .js 119558 (0x1D306 для символа '?').

Если вы .js хотите создать строку на vanillajs основе кодовой точки Unicode, отличной ecmascript от BMP, вы можете использовать vanilla-javascript служебные функции Punycode.js для преобразования vanilla-js между строками UCS-2 и кодовыми vanilla-js точками UTF-16:

// `String.fromCharCode` replacement that doesn’t make you enter the surrogate halves separately
punycode.ucs2.encode([0x1d306]); // '?'
punycode.ucs2.encode([119558]); // '?'
punycode.ucs2.encode([97, 98, 99]); // 'abc'

если вы хотите javascript-execution получить кодовую точку Unicode vanilla-js для каждого символа в строке, вам javascript-disabled необходимо преобразовать javascript-execution строку UCS-2 в массив кодовых javascript-library точек UTF-16 (где каждая ecmascript суррогатная пара образует javascript-dom одну кодовую точку) . Для javascript-execution этого вы можете использовать javascript служебные функции Punycode.js:

punycode.ucs2.decode('abc'); // [97, 98, 99]
punycode.ucs2.decode('?'); // [119558]

javascript

unicode

2022-06-28T05:27:00+00:00
Вопросы с похожей тематикой, как у вопроса:

Каков простой способ вызвать Asc() и Chr() в JavaScript для значений Unicode?