如何使用 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 中。
我有 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 中。