在我的HTML页面中输出`\ xA0`或`\ xC2A0`是否可以,或者我是否需要将其作为``?

时间:2018-01-08 17:09:49

标签: javascript html encoding

我有一个很大的JS代码库,并不是我可以控制的所有代码库,我们在语言环境文件中使用不间断的空格,实际上意味着要使用非破坏空格(以防止包装)。

目前,这些非中断空格在.yml文件中指定为\_,我们的YAML加载程序将其替换为\xA0(实际字节160,而不是转义序列,是(n)的ASCII,\xA0直接输出到浏览器。

据我所知,这些确实有效。他们没有被包裹。但是考虑到 的存在,直接输出ASCII感觉“错误”。

我一直在谷歌搜索一段时间,但我找不到任何关于此的信息......

可以输出\xA0(实际的字节160,而不是转义序列)作为HTML的一部分吗?或者我应该始终编码为 ? (如果是后者,为什么?缺点是什么?)

1 个答案:

答案 0 :(得分:3)

通过JavaScript字符串在HTML中打印不间断空格作为\xA0转义序列实际上是打印实际的不间断空格字符本身。

由于不间断空格在HTML中没有任何特殊含义,因此无论是直接打印字符还是使用字符引用,都没有任何意义上的区别。 (无法处理UTF-8编码HTML的用户代理可能会有所不同,但我怀疑这些是理论问题。)