读书人

关于escape的一些拾掇

发布时间: 2012-09-21 15:47:26 作者: rapoo

关于escape的一些整理

HTML规范里定义了一种机制叫character references,有了它我们就可以在HTML网页中引用任何字符(当然前提是User Agent支持).

character references在HTML里面主要有两种呈现形式:

Numeric character references (either decimal or hexadecimal).Character entity reference

?

Numeric character references

利用字符在document character set中的code position来引用字符, 也有两种呈现形式:

The syntax "&#D;", D为十进制The syntax "&#xH;"?or "&#XH;", H为十六进制

一些numeric character references的例子:

å 代表了挪威语里面的"?"

水 代表中文里面的""字

?

Character entity references

为了给网页编写者一种比Numeric character references更"直觉"的方式来引用字符, 比如上面的"?", 在character entity references中表示为"å", 相对"ī"来说好记多了.?

需要注意一点, character entity references是case-sensitive的, Å与å就分别表示?, ?.?还有四个比较特殊的字符也需要注意一下(直接使用它们会导致网页解析异常):

"<" represents the < sign.">" represents the > sign."&" represents the & sign."" represents the " mark.

?

有了上面对于character references的认识, 如果我们要在网页中直接呈现HTML代码内容, 并且在只有Latin-1编码的情况下输出所有在character entity?references中存在的字符, 应该如何来实现呢? 答案就是: escape

?

具体escape的实现就不过多描述了, 几乎每种语言都有官方或第三方的实现, 比如: Google Toolbox For Mac就提供了Objective-C的版本.

读书人网 >Web前端

热点推荐