高于 U+FFFF 的字符的 Javascript 文字

标签 javascript unicode string-literals

我的 javasacript 源代码是严格的 ascii,我想表示 anger symbol在字符串文字中。这在 javascript 中可能吗?

最佳答案

JavaScript 字符串实际上是 UTF-16,因此您可以使用 Unicode 转义符编写代理项对:"\uD83D\uDCA2"(这是 Java 源代码页面上显示的内容,它也适用于 JavaScript)。

从 ES2015 (ES6) 开始,您还可以将其编写为 \u{1F4A2} 而不是计算代理对 ( spec )。

例子:

使用 \uD83D\uDCA2:

document.body.innerHTML =
  "(Of course, this only works if the font has that character.)" +
  "<br>As \\uD83D\\uDCA2: \uD83D\uDCA2";

使用 \u{1F4A2} (如果您的浏览器支持新的 ES2015 功能):

document.body.innerHTML =
  "(Of course, this only works if the font has that character.)" +
  "<br>As \\u{1F4A2}: \u{1F4A2}";


这是一个使用 U+1D44E 的例子(\uD835\uDC4E, \u{1D44E}),数学中使用的程式化 a,在 Linux 上为我在 SO 上显示(而你的 :anger: 表情符号没有,但如果我使用 Windows 8.1 则有):

使用\uD835\uDC4E:

document.body.innerHTML =
  "(Of course, this only works if your browser has that symbol.)" +
  "<br>As \\uD835\\uDC4E: \uD835\uDC4E";

使用 \u{1D44E} (如果您的浏览器支持新的 ES2015 功能):

document.body.innerHTML =
  "(Of course, this only works if your browser has that symbol.)" +
  "<br>As \\u{1D44E}: \u{1D44E}";

关于高于 U+FFFF 的字符的 Javascript 文字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35481592/

相关文章:

Python 3 正则表达式和 Unicode 表情

delphi - DrawTextA、Courier New 和日语语言环境的奇怪行为

java - 创建新字符串作为文字/新对象时的内存分配

javascript - 在 Angular 中覆盖 Controller

javascript - 在javascript匹配中获取正则表达式的单独部分

unicode - Twitter bootstrap 使用的关闭符号的 unicode 字符是什么?

java - 无法处理大于 65535 个字符的字符串文字。编译器抛出 IllegalArgumentException

c - C 中的 static const char* VS const char*

javascript - jquery 从 title 属性获取动态生成的内容

javascript - 我正在尝试使用 javaScript 验证移动设备,但它不起作用