在HTML中使用Unicode文字是否安全?

时间:2018-04-27 10:25:27

标签: html unicode

我正在申请,我想添加一个" HOME"按钮。

在与各种图标库挣扎之后,我偶然发现了这个网站,

http://graphemica.com/%F0%9F%8F%A0,有了这个

一个unicode符号,它更像是一个字母而不是一个图像。

我将它粘贴到我的HTML中,它只是工作 TM

但这一切看起来有点太容易了。是否广泛支持unicode符号?是否存在导致人们使用图标库的问题?

4 个答案:

答案 0 :(得分:2)

这取决于你对“安全”的意思。

用户应该拥有这些字体,因此您必须包含相关字体,并且采用各种格式:大多数使用过的网络浏览器都没有识别格式。

此外,各种系统并不完全了解多种颜色的字体,因此您应该关注您对用户的期望(点击,选择,复制等)。

此外,每种字体都有自己的设计,因此在不同的字体(浏览器和操作系统)之间,事物的外观可能不同。我们还没有“Helvetica'Home'”,“Times New Roman'Home'”。

所有这一点,可以通过使用带有单色字形的网络字体来解决(但如果它包含所有Unicode代码点(+通常的组合),它可能会很大。)

如果有许多不同的字形似乎各种最近的浏览器崩溃,但通常不应该是一个问题。

我还推荐aria个帖子,以便您也可以使用例如读者(和盲文屏幕)。

注意:从好的方面来说,少数使用文本浏览器的人可以更好地看到HOME(如果是图像的情况不是这样),如果有人仍然关心这个用例。

答案 1 :(得分:0)

在这样做时,我采取了一些预防措施,我做了一些研究,发现这对你的问题更有帮助。另外,我不知道你怎么做但是归功于Mr.GOY

Displaying unicode symbols in HTML

答案 2 :(得分:0)

我认为使用unicode是一种很好的开发实践。因为unicodes基本上是你的操作系统的一部分,所以你不需要任何特殊的库或插件,你可以像普通文本一样对待它们。

唯一的问题是 - 代码可能无法阅读或理解。我认为这并不容易理解(&#12796 8;?)打印主页图标。

即使是8位PNG也比字体图标快。

图片图标可以是轻量级的,但仍然会因为另一个HTTP请求和加载图像的时间而减慢您的网站速度。使用图像,您无法灵活处理颜色和缩放。 SVG矢量图像替代方案仍然不比纯文本(Unicode字符)快。 Unicode不需要额外的HTTP请求,可以很好地扩展。

如果您仅使用简单形状开发网站,则可以使用unicode UTF-8符号替换字体图标。

我认为: 由于代码的可读性,易于使用和获得更多选项,几乎每个开发人员都使用图标库。

安全与否  我不知道它是否安全。

由于Unicode包含如此多的字符并且包含了世界上不同的书写系统,因此不正确的使用会使程序或系统暴露于可能的安全攻击。随着越来越多的产品国际化,这一点尤为重要。本文档介绍了程序员,系统分析员,标准开发人员和用户应考虑的一些安全注意事项,并提供了降低问题风险的具体建议。 Read about UNICODE SECURITY CONSIDERATIONS

答案 3 :(得分:0)

有些事情要确保你做的事情:

  • 将您的HTML文件另存为UTF-8。事实上,将所有文本文件保存为UTF-8,除非有某种原因你不能。
  • 将行<meta charset="utf-8" />放在HTML文件的顶部附近。
  • 确保您的服务器配置错误,无法告知所有浏览器网页编码错误。
  • 如果,某种原因,它无法修复它,请回到&entities;
  • 为CSS中的表情符号指定一个字体堆栈,其中包含几乎涵盖所有系统的字体集,可能包括Apple Color Emoji,Noto Color Emoji,Segoe UI Emoji和Twemoji。
  • 如果Noto或Symbola等免费字体包含您使用的表情符号,您可以将其打包为WOFF,以确保它始终以您想要的方式显示。 (截至2018年,Tor浏览器默认情况下不会正确显示大多数表情符号,但主流浏览器会这样做。)