关于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的版本.

    你可能感兴趣的:(html,c,Objective-C,Google,D语言)