我正在构建一个应用程序,该应用程序可以转换表情符号的短名称(例如:flag_cf :),并通过一系列操作将其转换为十六进制代码点(这是返回Twitter表情符号/ twemoji的映射中的键)。
我有一个实用程序(emojione.shortnameToUnicode())可以将短名称转换为本地unicode表情符号,但是我无法将本地unicode表情符号转换为十六进制代码点。
我一直在使用:
const unicode = emojione.shortnameToUnicode(str);
const decCodepoint = unicode.codePointAt(0);
const hexCodepoint = decCodepoint.toString(16);
当生成的十六进制代码点是单个数字时,此方法工作正常。但是,像标志这样的表情符号似乎有两个,例如:flag_cn:
是1f1f9-1f1f7
。但是,我上面的过程只会返回第一个十六进制代码点(即1f1f9
)。