关于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的, Å与å就分别表示Å, å. 还有四个比较特殊的字符也需要注意一下(直接使用它们会导致网页解析异常):

  • "&lt;" represents the < sign.
  • "&gt;" represents the > sign.
  • "&amp;" represents the & sign.
  • "&quot; represents the " mark.

 

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

 

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值