• &#x开头的是什么编码呢。浏览器可以解释它。如中国等同与中文"中国"?


    形如——

    &#dddd;
    &#xhhhh;
    &#name;
    

    ——的一串字符是 HTML、XML 等 SGML 类语言的转义序列(escape sequence)。它们不是「编码」。

    以 HTML 为例,这三种转义序列都称作 character reference:

    • 前两种是 numeric character reference(NCR),数字取值为目标字符的 Unicode code point;以「&#」开头的后接十进制数字,以「&#x」开头的后接十六进制数字。
    • 后一种是 character entity reference,后接预先定义的 entity 名称,而 entity 声明了自身指代的字符。

    从 HTML 4 开始,NCR 以 Unicode 为准,与文档编码无关。

    「中国」二字分别是 Unicode 字符 U+4E2D 和 U+56FD,十六进制表示的 code point 数值「4E2D」和「56FD」就是十进制的「20013」和「22269」。所以——

    中国
    中国
    

    ——这两种 NCR 写法都会在显示时转换为「中国」二字。

    NCR 可以用于转义任何 Unicode 字符,而 character entity reference 很受限,参见 HTML 4 和 HTML5 中已有定义的字符列表:


    HtmlEncoder,中文转换成&#开头的编码(及HTML特殊字符解码)


    如题: HtmlEncoder,中文转换成&#开头的编码(及HTML特殊字符解码)
     代码如下:

    1. package test.com.gjob.services;
    2. import java.io.IOException;
    3. import java.io.Writer;
    4. public class HtmlEncoder {
    5.      public static void main(String args[]){
    6.          System.out.println(HtmlEncoder.encode("你好"));
    7.      }
    8.      
    9.      /***
    10.     
    11. }

    http://www.blogjava.net/jerry-zhaoj/archive/2009/03/24/261730.html


    html, 

     

    telecomadmin+8位数字

     

    根据常识判断,&#后面的数字应该是Unicode编码值,写个VBS验证:

    25968)&ChrW(23383)

    numeric character reference(NCR),直译就是数字字符引用。一个Numeric Character Reference编码是由一个与号(&)跟着一个井号(#),然后跟着这个字符的Unicode编码值,最后跟着一个分号组成的,就像上面的例子一样。

    这篇文章发布于 2011年04月9日,星期六,21:43,归类于 程序设计。 您可以跟踪这篇文章的评论通过 RSS 2.0 feed。 您可以留下评论,或者从您的站点trackback

    http://demon.tw/programming/numeric-character-reference.html


    [字符编码]Numeric Character Reference和HTML Entities


     你是否在dreamweaver里编辑网页的时候看到Σ这样的东西,你曾使用过 这样的玩意吧,或者你在调试webservice的时候看到返回xml字符串中现γ这样的怪物呢?你看不懂他们可能用浏览器或者DW预览一下都是可以看到庐山真面目的,它是谁?

    Σ这个是 Numeric Character Reference

     这个是Character entities references

    从字面上观察,一个是用&#x+16进制+; 表达信息,一个是用&+字符串+;    突然让我想起了汇编语言里头的 助记符 跟 实际二进制指令代码,带着这个猜测往下看吧!

    Character entities references

    Character entity references,也就是通常我们说得 html实体字符,一些字符在 HTML 中拥有特殊的含义,比如小于号 (<) 用于定义 HTML 标签的开始。如果我们希望浏览器正确地显示这些字符,我们必须在 HTML 源码中插入字符实体。

    字符实体有三部分:一个和号 (&),一个实体名称,或者 # 和一个实体编号,以及一个分号 (;)。要在 HTML 文档中显示小于号,我们需要这样写:&lt; 或者 &#60;


    这里

    NCR编码是由一个与号(&)跟着一个井号(#), 然后跟着这个字符的Unicode编码值, 最后跟着一个分号组成的, 如:

        &#nnnn;
    或者
    &#xhhhh
    &amp; //&
    &nbsp; //空格
    1 <!ENTITY nbsp CDATA "&#160;" -- no-break space = non-breaking space,
    2 U+00A0 ISOnum -->
    3 <!ENTITY iexcl CDATA "&#161;" -- inverted exclamation mark, U+00A1 ISOnum -->
    4 <!ENTITY cent CDATA "&#162;" -- cent sign, U+00A2 ISOnum -->
    5 <!ENTITY pound CDATA "&#163;" -- pound sign, U+00A3 ISOnum -->
    6 <!ENTITY curren CDATA "&#164;" -- currency sign, U+00A4 ISOnum -->
    7 <!ENTITY yen CDATA "&#165;" -- yen sign = yuan sign, U+00A5 ISOnum -->
    8 <!ENTITY brvbar CDATA "&#166;" -- broken bar = broken vertical bar,
    9 U+00A6 ISOnum -->

    &Aring; // Å
    而:
    &aring; //

    答:可以使用NCR的方式,先找到字符对应的UNICODE编码,以小于号为例,unicode编码16进制为3C(10进制为60),在html则可以使用&#x3C或&#60,跟上面的表格对照看是否相同,由此我们也可以知道,如果我们的html所采用的编码不支持一些字符(比如其他国家的字符),则可以通过NCR来引入我们的页面就不会乱码了

          有一天,我的一个好朋友在调试webservice时发现对方的接口返回类似&#xhhhh这样的东西,一时不知道如何处理,如何转换为我们想要的编码呢?下一篇文章将提供通用的转换程序,敬请期待!

         最后感谢网络上无名的作者,是你们的博文让我学得更多,谢谢!如不小心引入您的博文内容而未带上出处,请告知我一声。


    http://www.cnblogs.com/shishm/archive/2011/11/24/2261996.html

  • 相关阅读:
    mybatis的xml文件中的CDATA的使用
    使用jedis执行lua脚本
    连接池中的maxIdle,MaxActive,maxWait等参数详解
    Unity3D脚本中文系列教程(十六)
    Unity3D脚本中文系列教程(十五)
    Unity3D脚本中文系列教程(十四)
    Unity3D脚本中文系列教程(十三)
    Unity3D脚本中文系列教程(十二)
    Unity3D脚本中文系列教程(十一)
    Unity3D脚本中文系列教程(十)
  • 原文地址:https://www.cnblogs.com/langtianya/p/4087120.html
Copyright © 2020-2023  润新知