形如——

&#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. }

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

html, NCRNumeric
Character Reference
Unicode

http://demon.tw/programming/numeric-character-reference.html
版权: 本博客的所有文章,都遵守“署名-非商业性使用-相同方式共享 2.5 中国大陆”协议条款。

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; 或者 <

这里

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

    &#nnnn;
或者
&#xhhhh
&amp; //&
&nbsp; //空格
1 <!ENTITY nbsp CDATA " " -- no-break space = non-breaking space,
2 U+00A0 ISOnum -->
3 <!ENTITY iexcl CDATA "¡" -- inverted exclamation mark, U+00A1 ISOnum -->
4 <!ENTITY cent CDATA "¢" -- cent sign, U+00A2 ISOnum -->
5 <!ENTITY pound CDATA "£" -- pound sign, U+00A3 ISOnum -->
6 <!ENTITY curren CDATA "¤" -- currency sign, U+00A4 ISOnum -->
7 <!ENTITY yen CDATA "¥" -- yen sign = yuan sign, U+00A5 ISOnum -->
8 <!ENTITY brvbar CDATA "¦" -- 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

&#x开头的是什么编码呢。浏览器可以解释它。如&#20013;&#22269;等同与中文"中国"?的更多相关文章

  1. 你不知道的 页面编码,浏览器选择编码,get,post各种乱码由来

    原文:你不知道的 页面编码,浏览器选择编码,get,post各种乱码由来 asp.net页面编码和浏览器的选择编码 每个asp.net的朋友都知道,在新版本的visual studio,在没有任何设置 ...

  2. &#x开头的是什么编码?

    在 Node 层利用 cheerio 解析网页时,输出的中文内容都是以 &#x 开头的一堆像乱码一样的东西,尝试过各种编码都无效,而且神奇的是,将这一堆“乱码”保存成网页后,通过浏览器打开又可 ...

  3. dedecms功能性函数封装(XSS过滤、编码、浏览器XSS hack、字符操作函数)

    dedecms虽然有诸多漏洞,但不可否认确实是一个很不错的内容管理系统(cms),其他也不乏很多功能实用性的函数,以下就部分列举,持续更新,不作过多说明.使用时需部分修改,你懂的 1.XSS过滤. f ...

  4. BOM / URL编码解码 / 浏览器存储

    BOM 浏览器对象模型 BOM(Browser Object Model) 是指浏览器对象模型,是用于描述这种对象与对象之间层次关系的模型,浏览器对象模型提供了独立于内容的.可以与浏览器窗口进行互动的 ...

  5. 以&#开头的是什么编码?

    今天遇到了一个网页时繁体的,它的title和meta信息在浏览器中显示正常,但是查看其源码是却是"最新發"这种. 在网上找了半天资料,终于搞明白了. 以在网页中&#开头的是 ...

  6. WinForm开发浏览器,WebBrowser获取页面内容,如何解决中文乱码

    WebBrowser的编码可以从文档对象中获得,将代码改为如下即可. System.IO.StreamReader getReader = new System.IO.StreamReader(thi ...

  7. -moz、-ms、-webkit浏览器前缀解释(PS:后续在详细解释)

    -moz-是Firefox Gecko内核,moz代表的是Firefox的开发商Mozill -ms代表ie浏览器私有属性 -webkit代表safari.chrome私有属性

  8. css盒模型不同浏览器下解释不同 解决办法

    盒子模型是css中一个重要的概念,理解了盒子模型才能更好的排版.其实盒子模型有两种,分别是 ie 盒子模型和标准 w3c 盒子模型.他们对盒子模型的解释各不相同,先来看看我们熟知的标准盒子模型: 从上 ...

  9. 编码对象或者字串中包含Unicode字符怎样转换为中文

    In [18]: c = '你好' In [20]: d = c.encode('unicode_escape') In [21]: d Out[21]: b'\\u4f60\\u597d' In [ ...

随机推荐

  1. 修改Matlab 2012b默认工作路径

    MATLAB的路径有多种,这里只讲一下启动时设置成MATLAB的用户的默认工作路径. 本人不想去改MATLAB的原来系统文件,而是尽量利用startup.m.这个文件默认在'/home/r/文档/MA ...

  2. [CareerCup] 10.3 Integer not Contain in the File 文件中不包含的数

    10.3 Given an input file with four billion non-negative integers, provide an algorithm to generate a ...

  3. Linux(10.5-10.11)学习笔记

    3.2程序编码 unix> gcc -01 -o p p1.c p2.c -o用于指定输出(out)文件名. -01,-02 告诉编译器使用第一级或第二级优化 3.2.1机器级代码 机器级编程两 ...

  4. app整体搭建环境:tabBar切换不同控制器的封装(自定义导航+自定义uiviewcontroler+系统自带tabbar+自定义tabbarController)

    首先,一个app的搭建环境非常重要.既要实现基本功能,又要考虑后期优化的性能. 现在很多应用不仅仅是系统自带的控制器,由于需求复杂,基本上需要自定义多控制器来管理. 新建一个BasicNavigati ...

  5. 记一次w3wp占用CPU过高的解决过程(Dictionary和线程安全)

    项目上线以来一直存在一个比较揪心的问题,和一个没有信心处理的BUG,那就是在应用程序启动时有可能会导致cpu跑满99%或持续在一个值如50%左右,这样一来对服务器的压力是非常大的,经常出现服务器无法远 ...

  6. 基于win32的socket编程及程序实现

    初步研究了win32平台的Windows Sockets,它是Microsoft Windows的网络程序设计接口,它是从Berkeley Sockets扩展而来的,以动态链接库的形式提供给我们使用. ...

  7. 集DDD,TDD,SOLID,MVVM,DI,EF,Angularjs等于一身的.NET(C#)开源可扩展电商系统–Virto Commerce

    今天一大早来看到园友分享的福利<分享一个前后端分离方案源码-前端angularjs+requirejs+dhtmlx 后端asp.net webapi>,我也来分享一个吧.以下内容由笔者写 ...

  8. php图片水印添加,压缩,剪切的封装类

    php对图片文件的操作主要是利用GD库扩展.当我们频繁利用php对图片进行操作时,会自然封装很多函数,否则会写太多重复的代码.当有很多对图片的相关函数的时候,我们可以考虑将这些函数也整理一下,因而就有 ...

  9. jdbc基础 (五) 连接池与数据源 DBCP以及C3P0的使用

    一.连接池的概念和使用 在实际应用开发中,特别是在WEB应用系统中,如果JSP.Servlet或EJB使用JDBC直接访问数据库中的数据,每一次数据访问请求都必须经历建立数据库连接.打开数据库.存取数 ...

  10. 支持Json进行操作的Javascript类库TAFFY DB

    前段时间工作中用到Json数据,希望将一些简单的增删改查放到客户端来做,这样也能减少服务器端的压力.分别查找了几个可以对Json进行操作的javascript 类库,最终选定了TAFFY DB.原因如 ...