用JavaScript和HTML打印表情符号
Printing emojis with JavaScript and HTML
为什么这样做:
<p id="emoji">😄</p>
document.getElementById("emoji").innerHTML = String.fromCharCode(parseInt('1f604', 16));
JS术语中的'char'实际上是UTF-16代码单元,而不是完整的Unicode字符。(这种可悲的状况源于没有差别的古代。)要使用基本多语言平面之外的字符,必须以两个16位代码单元的代理对的utf -16编码形式编写:
String.fromCharCode(0xD83D, 0xDE04)
在ECMAScript 6中,我们将获得一些接口,这些接口允许我们处理字符串,就好像它们是完整的Unicode码点一样,尽管它们是不完整的,并且只是String类型的一个暂存,String类型仍然作为代码单元序列存储。然后我们可以这样做:
String.fromCodePoint(0x1F604)
参见这个问题的一些polyfill代码,让你在今天的浏览器中使用这个功能。
(*:当我有机会进入时间机器时,我要离开希特勒,回到以前发明UTF-8。
如果您不想在代码中包含String.fromCodePoint()
,也可以使用hacky方法。它包括创建一个虚元素…
elem=document.createElement('p')
…用工作HTML填充…
elem.innerHTML = "😄"
…最后得到它的值
value = elem.innerHTML
简而言之,这是因为一旦设置了HTML容器的值,该值就会被转换为相应的字符。
希望我能帮上忙
相关文章:
- 使用javascript将动态表从一个html页面打印到另一个html页
- JavaScript打印功能使日历停止工作
- esri javascript异步打印
- 文本框不是从Javascript/Asp.net中的对话框中打印出来的
- 在.csv文件中写入学位符号
- 使用相同的数据集绘制各种符号
- jQuery/JavaScript在线公文包表单-打印样式表
- 如何打印嵌套对象的所有值
- 在终端中运行 JavaScript 时(使用 rhino),如何使用 print() 函数在一行中打印
- 打印预览没有应用程序页眉和页脚的html表格
- 正在打印图表上的文本
- 将带点符号的属性(有时)传递给函数
- RegEx JavaScript:数字后的符号提取
- Rhino打印功能
- 在通过child.print()打印之前,我如何等待图像加载到我的新窗口中
- 用百分比符号将Javascript打印到html
- Unicode项目符号打印为问号
- 删除电子邮件扩展,但希望保持"@"但是忽略yahoo.com的部分.没有打印出@符号
- 如何使用JavaScript打印UTF-8符号
- 用JavaScript和HTML打印表情符号