浏览器编码

    在浏览器中有些字符是预留的,如果想要正确的显示这些字符,就需要用字符相对应的别名替代,才能够正常显示。所以口有了html编码,js编码,url编码。

1.html编码

  在 HTML 中,某些字符是预留的。在 HTML 中不能使用小于号(<)和大于号(>),这是因为浏览器会误认为它们是标签。所以可以使用别名来替代这些预留的字符,比如 就可以替代空格,>替换>。还可以使用十进制或者十六进制的ASCII码。

1.下面是预留字符与别名对照表:

显示结果 描述 实体名称 实体编号
  空格    
< 小于号 < <
> 大于号 > >
& 和号 & &
" 引号 " "
' 撇号  ' (IE不支持) '
分(cent) ¢ ¢
£ 镑(pound) £ £
¥ 元(yen) ¥ ¥
欧元(euro)
§ 小节 § §
© 版权(copyright) © ©
® 注册商标 ® ®
商标
× 乘号 × ×
÷ 除号 ÷ ÷

2.十六进制

前面&#x,比如 '<' 用十六进制替代就是 <。

3.十进制

前面需要加上&#,比如 '<' 用十六进制替代就是 `。


html编码可以在标签内和标签的属性内被解析出来。

如果想让div节点的内容是'

'可以编写如下html,

`/div>
不会干扰之后的闭合标签。

或者你想在属性中加上'">'值,可以这样编写html,



2.js编码

有如下几种形式可以对js代码中的字符进行编码,斜杠转义,十六进制和unicode。

1.斜杠转义

'"'可以转成'\"'

2.十六进制

'"'可以转为\x22

3.unicode

'"'可转为\u0022

如果在js中想输出'"',可以编写如下代码,

alert("\"")


3.url编码

使用%加上十六进制的ASCII码来替换原来的字符。

比如'&'就可以用%26来表示,适用于标签的href或者标签的src或者