六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 23|回复: 0

关于escape的一些整理

[复制链接]

升级  30%

3

主题

3

主题

3

主题

童生

Rank: 1

积分
15
 楼主| 发表于 2013-2-1 09:43:20 | 显示全部楼层 |阅读模式
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的版本.
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表