web开发中特殊字符的对应值与转义字符

文章来源:http://greatverve.cnblogs.com/archive/2011/07/18/web-char.html


URL中的特殊字符

URL中的特殊字符是不能再URL中直接传递的,需要进行编码。编码的格式为:%加字符的ASCII码,即一个百分号%,后面跟对应字符的ASCII(16进制)码值。

 

字符

名称

16进制值

+

URL中的+表示空格

%2B

空格

URL中的空格可以用+号或者编码

%20

/

分割目录和子目录

%2F

?

分隔实际的URL和字符

%3F

%

指定特殊字符

%25

#

表示书签,URL传输参数时会自动截断#后面内容

%23

&

URL中的参数分隔符

%26

=

UEL中指定的参数值

%3D

例:要传递字符串“this%is#te=st&o k?+/”作为参数t传给te.asp,则URL可以是:
te.asp?t=this%25is%23te%3Dst%26o%20k%3F%2B%2F 或者
te.asp?t=this%25is%23te%3Dst%26o+k%3F%2B%2F (空格可以用%20或+代替)


java中URL 的编码和解码函数:
java.net.URLEncoder.encode(String s)和java.net.URLDecoder.decode(String s);
在javascript 中URL 的编码和解码函数分别是escape(String s)和unescape(String s) ;

HTML中的需要转义字符

字符

转义字符

描述

&

&

<

小于号

>

大于号

"

双引号

'

单引号

空格

 

空格

©

©

版权符

®

®

注册符

 

前者为字符转义序列,后者为数字转义序列。数字转为字符对应的ASCII码值。例如 & lt; font &gt;显示为,<font>,若直接写为则被认为是一个链接签。

需要说明的是:

a. 转义序列各字符间不能有空格;

b. 转义序列必须以";"结束;

c. 单独的&不被认为是转义开始;

d.区分大小写。

另一个需要转义的字符是引号,它的转义序列为"" "或"""

HTML使用的字符集是ISO &859 Larin-1字符集,该字符集中有许多标准键盘上无法输入的字符。对这些特殊字符只能使用转义序列。

XML中的特殊字符

字符

转义字符

描述

&

&amp;

&lt;

小于号

&gt;

大于号

&quot;

双引号

&apos;

单引号

 

不合法的XML字符必须被转义,如果在XML文档中使用类似"<" 的字符, 那么解析器将会出现错误,因为解析器会认为这是一个新元素的开始。所以不应该像下面那样书写代码:

<message>if salary < 1000 then</message>

为了避免出现这种情况,必须将字符"<" 转换成实体,像下面这样:

<message>if salary &lt; 1000 then</message>

Javascript中的转义字符

转义序列

字符

\b

退格

\f

走纸换页

\n

换行

\r

回车

\t

横向跳格

\”

双引号

\’

单引号

\\

反斜杠

 

var txt=”We are the so-called “Vikings” from the north.”

document.write(txt)

在JavaScript中,字符串以双引号或单引号开始和结束。 这就意味着上面的字符串会被砍为: We are the so-called

要解决这个问题,需要在Viking前后的双引号前面加上反斜杠 (\),这样就把每一个双引号转换为了一个字符串文字:

var txt=”We are the so-called \”Vikings\” from the north.”

document.write(txt)

现在JavasScript可以正确显示字符串:We are the so-called “Vikings” from the north.

 

这里是另外一个例子:

document.write (“You \& me are singing!”)

上面的例子将产生以下输出:

You & me are singing!

Cookie中的特殊字符

版本0 : Netscape公司制定的,也被几乎所有的浏览器支持. Java中为了保持兼容性目前只支持到版本0, Cookie的内容中不能空格,方括号,圆括号,等于号(=),逗号,双引号,斜杠,问号,@符号,冒号,分号。

版本1 : 根据RFC 2109(http://www.ietf.org/rfc/rfc2109.txt)文档制定的放宽了很多限制上面所限制的字符都可以使用但为了保持兼容性应该尽量避免使用这些特殊字符。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值