【问题标题】:How to use the ECMAScript 6 Unicode code point escapes?如何使用 ECMAScript 6 Unicode 代码点转义?
【发布时间】:2016-07-21 20:35:44
【问题描述】:

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

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

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

返回:

Uncaught SyntaxError: Undefined Unicode code-point

但是使用

console.log('\ud842\udfb5')

返回(正确的)

????

如何使用代码点转义?

【问题讨论】:

    标签: javascript unicode ecmascript-6 utf-16


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

      \u{...}BMP 及以上 Unicode 转义序列,\u1234BMP-only 转义序列。广义的\u{...} 格式是 ES6 的一个新特性。对它们的支持将完全取决于您的目标 JS 环境,或者您是否使用了转译器。

      【讨论】:

        【解决方案3】:

        正如您已经看到的,您只能在 unicode 序列中使用 HEX 数字。但是,无需使用字符转义,只需将字符写入或复制/粘贴到字符串中,将其保存为 utf-8 即可。 今天的 Javascript 是 unicode(大多数 JavaScript 都是)。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2020-02-19
          • 1970-01-01
          • 2014-07-23
          • 2013-04-29
          • 1970-01-01
          • 1970-01-01
          • 2014-10-16
          相关资源
          最近更新 更多