【发布时间】:2016-02-18 12:31:58
【问题描述】:
我的 javsacript 源代码是严格的 ascii,我想在字符串文字中表示 anger symbol。这在javascript中可能吗?
【问题讨论】:
-
该页面上的 Java 源代码 恰好也适用于 Javascript...
标签: javascript unicode string-literals
我的 javsacript 源代码是严格的 ascii,我想在字符串文字中表示 anger symbol。这在javascript中可能吗?
【问题讨论】:
标签: javascript unicode string-literals
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,它在我的 SO for me on Linux 上显示(而你的 :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}";
【讨论】: