我正在处理包含 UTF 星体符号代理一半的转义序列的原始字符串。(我想我说得对……)
console.log("\uD83D\uDCA9")
// =>
让我们以上面的表情符号为例。如果我有代理对 (\uD83D\uDCA9) 我怎样才能反过来将它的十六进制值转换为 JavascriptString.fromCodePoint()
函数的有效参数?
我尝试了以下方法:
const codePoint = ["D83D", "DCA9"].reduce((acc, cur) => {
return acc += parseInt(cur, 16);
}, 0);
console.log(String.fromCodePoint(codePoint));
// => (some weird symbol appears, not !)
PS:我熟悉 ES6 转义序列,它在括号 {...} 之间显示十六进制值,而不是使用代理半部分。但我需要用代理对来做到这一点!
非常感谢任何建议。