我有下面的上下文,我想把一个模式转换成一个emoji,但是我看到的结果是F600;
。代码F600;
不会呈现为emoji。
知道为什么吗?
$('#m').keyup(function (){ value = $('#m').val().replace(/(\:\))/g, 'F600;'); $('#m').val(value); });
我也尝试过使用
U+1F600
并得到了相同的结果。 最佳答案
您缺少十六进制实体值的“x”😀
😀
要将此emoji作为字符本身而不是HTML实体传递到JavaScript字符串中,需要两个字符——JavaScript字符串只能直接执行16位代码点,因此\uFFFF
以外的Unicode代码点必须分解为两个16位值,如下所示:
'\uD83D\uDE00'
这些称为“代理项对”:https://msdn.microsoft.com/en-us/library/windows/desktop/dd374069(v=vs.85).aspx
更新:
若要再添加一个选项,也可以这样为emoji字符创建表达式:
String.fromCodePoint(0x1F600)
您甚至可以直接在代码中使用emoji字符,只要您将代码保存为兼容的编码(如UTF-8),并且您可以依赖将用于处理适当扩展字符集的代码编辑器。
关于html - 表情符号Unicode无法呈现为表情符号,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49588726/