作者:Leilani-lysbp_348 | 来源:互联网 | 2022-12-22 13:17
我有以下背景,我想将一个模式变成一个表情符号,但我看到的结果是&#1F600;
.代码&#1F600;
不会呈现为表情符号.
知道为什么吗?
$('#m').keyup(function (){ value = $('#m').val().replace(/(\:\))/g, '&#1F600;'); $('#m').val(value); });
我也试过U+1F600
并且有相同的结果.
1> kshetline..:
您错过了十六进制实体值的'x', 😀
?
要将此表情符号传递给Javascript字符串,作为字符本身而不是HTML实体,您需要两个字符 - Javascript字符串只能直接执行16位代码点,因此超出的Unicode代码点\uFFFF
必须分为两个16-位值,如下所示:
'\uD83D\uDE00'
这些被称为"代理对":https://msdn.microsoft.com/en-us/library/windows/desktop/dd374069(v = vs.85).aspx
更新:
要添加一个选项,您也可以通过这种方式为表情符号字符创建表达式:
String.fromCodePoint(0x1F600)
您甚至可以直接在代码中使用表情符号字符,只要您使用兼容的编码(如UTF-8)保存代码,并且您可以依靠用于处理适当扩展字符的代码编辑器.组.