如何使用 ECMAScript 6 Unicode 代码点转义?

How to use the ECMAScript 6 Unicode code point escapes?

我有 this 个 Unicode 字符,我想使用新的 Unicode Point Escapes 显示(i.e.e 有人使用 '\u{Code Point Here}'

但是,我一定是做错了什么,因为

console.log('\u{134069}');

returns:

Uncaught SyntaxError: Undefined Unicode code-point

但是使用

console.log('\ud842\udfb5')

returns(正确)

如何使用代码点转义?

如您所见,您只能在 unicode 序列中使用 HEX 数字。但是,不需要使用字符转义,只需将您的字符写入或 copy/paste 到字符串中,将其保存为 utf-8 即可。 Javascript 是今天的 unicode(大多数 JavaScript 是)。

\u{...} 是一个 BMP and above Unicode escape sequences, and \u1234 is a BMP-only 转义序列。广义的 \u{...} 格式是 ES6 的新特性。对它们的支持将完全取决于您的目标 JS 环境,或者您是否正在使用转译器。

Javascript 中的 Unicode 转义序列使用十六进制数字来表示代码点(这是有道理的,因为它们通常以这种方式表示)。您已尝试使用 134069,根据您提供的代理对,它实际上是您要打印的代码点的十进制表示。您需要使用等效的十六进制,例如\u{20BB5} 在 ES6 中。