Я создаю приложение, которое преобразует короткие имена смайликов (например, flag_cf :) и преобразует их через серию операций в шестнадцатеричный код (которые являются ключами на карте для возврата смайликов / twemoji Twitter).
У меня есть утилита ( emojione.shortnameToUnicode () ), которая преобразует короткие имена в родные юникод-эмодзи, но у меня возникают проблемы с преобразованием родного юникод-смайлика в шестнадцатеричные кодовые точки.
Я использовал:
const unicode = emojione.shortnameToUnicode(str);
const decCodepoint = unicode.codePointAt(0);
const hexCodepoint = decCodepoint.toString(16);
Это прекрасно работает, когда результирующий шестнадцатеричный код представляет собой одну цифру.Тем не менее, у эмодзи-подобных флагов, кажется, есть два, например :flag_cn:
- 1f1f9-1f1f7
.Однако мой процесс выше вернул бы только первую шестнадцатеричную кодовую точку (а именно 1f1f9
).