特殊字符处理

时间:2021-02-25 06:37:20

HTML字符实体(Character Entities)

有些字符在HTML里有特别的含义,比如小于号<就表示HTML Tag的开始,这个小于号是不显示在我们最终看到的网页里的。那如果我们希望在网页中显示一个小于号,该怎么办呢?

这就要说 到HTML字符实体(HTML Character Entities)了。

一个字符实体(Character Entity)分成三部分:第一部分是一个&符号,英文叫ampersand;第二部分是实体(Entity)名字或者是#加上实体(Entity)编号;第三部分是一个分号。

比如,要显示小于号,就可以写&lt;或者&#60;。

用实体(Entity)名字的好处是比较好理解,一看lt,大概就猜出是less than的意思,但是其劣势在于并不是所有的浏览器都支持最新的Entity名字。而实体(Entity)编号,各种浏览器都能处理。

注意:Entity 是区分大小写的。

如何显示空格

通常情况下,HTML会自动截去多余的空格。不管你加多少空格,都被看做一个空格 。比如你在两个字之间加了10个空格,HTML会截去9个空格,只保留一个 。为了在网页中增加空格,你可以使用&nbsp;表示空格。

最常用的字符实体(Character Entities)

显示结果 说明 Entity Name Entity Number
  显示一个空格 &nbsp; &#160;
< 小于 &lt; &#60;
> 大于 &gt; &#62;
& &符号 &amp; &#38;
" 双引号 &quot; &#34;

其他常用的字符实体(Character Entities)

显示结果 说明 Entity Name Entity Number
© 版权 &copy; &#169;
® 注册商标 &reg; &#174;
× 乘号 &times; &#215;
÷ 除号 &divide; &#247;

更多字符实体(Character Entities)

更多字符实体(Character Entities)请参见 ISO Latin-1字符集

URL(地址)中的特殊字符

碰到URL中需要传递参数 "/ ",觉得应该将此字符转换一下,网上搜索一下,得到如下结论:

URL中的特殊字符是不能直接传递的,如果要在URL中传递这些特殊符号,那么就要使用他们的编码了。编码的格式为:%加字符的ASCII码,即一个百分号%,后面跟对应字符的ASCII(16进制)码值。

    特殊含义                                   十六进制值
+ 表示空格(在 URL 中不能使用空格)      %20
/ 分隔目录和子目录                           %2F
? 分隔实际的 URL 和参数                         %3F
% 指定特殊字符                                    %25
# 表示书签                                          %23
& URL 中指定的参数间的分隔符                 &

当键值中含有以上列表中的一些字符时就无法准确的接收其中的值
定义含有特殊字符的字符串
str="parameter=#%&+/=?value</html>"
'用URLEncode方法进行编码
strurlencode=server.URLEncode(str)
'用HTMLEncode方法进行编码
strhtmlencode=server.HTMLEncode (str)