&#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特殊字符解码)
代码如下:
- package test.com.gjob.services;
- import java.io.IOException;
- import java.io.Writer;
- public class HtmlEncoder {
- public static void main(String args[]){
- System.out.println(HtmlEncoder.encode("你好"));
- }
- /***
- }
http://www.blogjava.net/jerry-zhaoj/archive/2009/03/24/261730.html
html, NCR, Numeric
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 文档中显示小于号,我们需要这样写:< 或者 <
这里
NCR编码是由一个与号(&)跟着一个井号(#), 然后跟着这个字符的Unicode编码值, 最后跟着一个分号组成的, 如:
&#nnnn;
或者
&#xhhhh
//空格
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 -->
而:
å //
答:可以使用NCR的方式,先找到字符对应的UNICODE编码,以小于号为例,unicode编码16进制为3C(10进制为60),在html则可以使用<或<,跟上面的表格对照看是否相同,由此我们也可以知道,如果我们的html所采用的编码不支持一些字符(比如其他国家的字符),则可以通过NCR来引入我们的页面就不会乱码了。
有一天,我的一个好朋友在调试webservice时发现对方的接口返回类似&#xhhhh这样的东西,一时不知道如何处理,如何转换为我们想要的编码呢?下一篇文章将提供通用的转换程序,敬请期待!
最后感谢网络上无名的作者,是你们的博文让我学得更多,谢谢!如不小心引入您的博文内容而未带上出处,请告知我一声。
http://www.cnblogs.com/shishm/archive/2011/11/24/2261996.html
&#x开头的是什么编码呢。浏览器可以解释它。如中国等同与中文"中国"?的更多相关文章
- 你不知道的 页面编码,浏览器选择编码,get,post各种乱码由来
原文:你不知道的 页面编码,浏览器选择编码,get,post各种乱码由来 asp.net页面编码和浏览器的选择编码 每个asp.net的朋友都知道,在新版本的visual studio,在没有任何设置 ...
- &#x开头的是什么编码?
在 Node 层利用 cheerio 解析网页时,输出的中文内容都是以 &#x 开头的一堆像乱码一样的东西,尝试过各种编码都无效,而且神奇的是,将这一堆“乱码”保存成网页后,通过浏览器打开又可 ...
- dedecms功能性函数封装(XSS过滤、编码、浏览器XSS hack、字符操作函数)
dedecms虽然有诸多漏洞,但不可否认确实是一个很不错的内容管理系统(cms),其他也不乏很多功能实用性的函数,以下就部分列举,持续更新,不作过多说明.使用时需部分修改,你懂的 1.XSS过滤. f ...
- BOM / URL编码解码 / 浏览器存储
BOM 浏览器对象模型 BOM(Browser Object Model) 是指浏览器对象模型,是用于描述这种对象与对象之间层次关系的模型,浏览器对象模型提供了独立于内容的.可以与浏览器窗口进行互动的 ...
- 以&#开头的是什么编码?
今天遇到了一个网页时繁体的,它的title和meta信息在浏览器中显示正常,但是查看其源码是却是"最新發"这种. 在网上找了半天资料,终于搞明白了. 以在网页中&#开头的是 ...
- WinForm开发浏览器,WebBrowser获取页面内容,如何解决中文乱码
WebBrowser的编码可以从文档对象中获得,将代码改为如下即可. System.IO.StreamReader getReader = new System.IO.StreamReader(thi ...
- -moz、-ms、-webkit浏览器前缀解释(PS:后续在详细解释)
-moz-是Firefox Gecko内核,moz代表的是Firefox的开发商Mozill -ms代表ie浏览器私有属性 -webkit代表safari.chrome私有属性
- css盒模型不同浏览器下解释不同 解决办法
盒子模型是css中一个重要的概念,理解了盒子模型才能更好的排版.其实盒子模型有两种,分别是 ie 盒子模型和标准 w3c 盒子模型.他们对盒子模型的解释各不相同,先来看看我们熟知的标准盒子模型: 从上 ...
- 编码对象或者字串中包含Unicode字符怎样转换为中文
In [18]: c = '你好' In [20]: d = c.encode('unicode_escape') In [21]: d Out[21]: b'\\u4f60\\u597d' In [ ...
随机推荐
- Java Concurrency in Practice 读书笔记 第二章
第二章的思维导图(代码迟点补上):
- 妙味WEB前端开发全套视频教程+项目实战+移动端开发(99G)
一共99GB的视频教程,全部存于百度网盘中,13个栏目,每个栏目里还划分有独立的小栏目 最基本的web前端学习介绍,到项目实战,再到移动端的开发,真正彻底掌握前端开发的精髓: 视频教程在线预览:(百度 ...
- Android 长按Listview显示CheckBox,实现批量删除。
ListView实现的列表,如果是可编辑,可删除的,一般都要提供批量删除功能,否则的话,一项一项的删除体验很不好,也给用户带来了很大的麻烦. 实现效果图 具体实现代码 select.xml 主布局文件 ...
- JS模拟Alert与Confirm对话框
这2个例子都是用原生JS写的,主要是用JS拼接了界面,并未做过多的事件监听.,样式用了Css3的一些特性. 调用方式则为: //Alert Alert.show('我警告你哦~'); //Confir ...
- 最长回文子串(Manacher算法)
回文字符串,想必大家不会不熟悉吧? 回文串会求的吧?暴力一遍O(n^2)很简单,但当字符长度很长时便会TLE,简单,hash+二分搞定,其复杂度约为O(nlogn), 而Manacher算法能够在线性 ...
- 【MPI学习1】简单MPI程序示例
有了apue的基础,再看mpi程序多进程通信就稍微容易了一些,以下几个简单程序来自都志辉老师的那本MPI的书的第七章. 现在ubuntu上配置了一下mpich的环境: http://www.cnblo ...
- 【android】TabLayout文字闪烁问题
安卓MD设计提供了一个非常酷炫的效果,TabLayout拿来做选项卡时非常合适的,但是在实际使用中发现22.2.1版本号的TabLayout在ViewPager滑动的时候会出现闪烁现象. 解决方法:在 ...
- jquery hasClass、removeClass、addClass方法
hasClass(class) 检查当前的元素是否含有某个特定的类,如果有,则返回true. 参数: class:用于匹配的类名. ---------------------------------- ...
- [bzoj2245][SDOI2011]工作安排(费用流)
题目:http://www.lydsy.com:808/JudgeOnline/problem.php?id=2245 分析: 要注意到题目下面说的w是单增的 明显的费用流: 弄个源点S,汇点T S连 ...
- 每天一个linux命令(44):ifconfig命令
许多windows非常熟悉ipconfig命令行工具,它被用来获取网络接口配置信息并对此进行修改.Linux系统拥有一个类似的工具,也就是ifconfig(interfaces config).通常需 ...