&#x开头的是什么编码呢。浏览器可以解释它。如中国等同与中文"中国"?
2016-04-07 10:20
579 查看
形如——
——的一串字符是 HTML、XML 等 SGML 类语言的转义序列(escape sequence)。它们不是「编码」。
以 HTML 为例,这三种转义序列都称作 character reference:
前两种是 numeric character reference(NCR),数字取值为目标字符的 Unicode code point;以「」开头的后接十进制数字,以「」开头的后接十六进制数字。
后一种是 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 中已有定义的字符列表:
Character entity references in HTML 4
Character entity references in HTML5
http://www.zhihu.com/question/21390312
如题: 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,Unicode与NCR(数字字符引用)
标签: html, NCR, Numeric
Character Reference, Unicode
标题: HTML,Unicode与NCR(数字字符引用)
作者: Demon
链接: http://demon.tw/programming/numeric-character-reference.html
版权: 本博客的所有文章,都遵守“署名-非商业性使用-相同方式共享 2.5 中国大陆”协议条款。
昨天ihipop问的一个问题,下面是什么编码?
telecomadmin+8位数字
根据常识判断,后面的数字应该是Unicode编码值,写个VBS验证:
输出“位数字”,连起来就是“telecomadmin+8位数字”,读起来挺通顺的,看来是Unicode没错了。
Google了一下,这东西专业名称叫numeric character
reference(NCR),直译就是数字字符引用。一个Numeric Character Reference编码是由一个与号(&)跟着一个井号(#),然后跟着这个字符的Unicode编码值,最后跟着一个分号组成的,就像上面的例子一样。
有了数字字符引用,就可以在网页中显示Unicode字符了,不用考虑html文件本身的编码,因为数字字符引用只用到ASCII字符集里的字符。所以,即使在gb2312编码的网页中,也可以用NCR显示埃及的象形文字了。
这篇文章发布于 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
从字面上观察,一个是用+16进制+; 表达信息,一个是用&+字符串+; 突然让我想起了汇编语言里头的 助记符 跟 实际二进制指令代码,带着这个猜测往下看吧!
Character
entities references
HTML 中规定了 Character
entity references,也就是通常我们说得 html实体字符,一些字符在 HTML 中拥有特殊的含义,比如小于号 (<) 用于定义 HTML 标签的开始。如果我们希望浏览器正确地显示这些字符,我们必须在 HTML 源码中插入字符实体。
字符实体有三部分:一个和号 (&),一个实体名称,或者 # 和一个实体编号,以及一个分号 (;)。要在 HTML 文档中显示小于号,我们需要这样写:< 或者 <
并不是所有的浏览器都支持最新的实体名称,不同的浏览器中需要去验证哪些可以被识别哪些不能被识别,下图中的“撇号”在IE下就不能支持,对于不支持的实体名称可以用另外的方式解决,继续阅读下一段吧。
注意:实体对大小写敏感。
比较全面的列表请参看:这里
参考:http://www.w3school.com.cn/html/html_entities.asp
看看维基百科的解释:
A numeric character reference (NCR) is a common markup construct used in SGML and other SGML-related markup languages such as HTML and XML. It consists of a short sequence of characters that, in turn, represent
a single character from the Universal Charact
NCR是一种常见的标记结构,用于SGML和其他SGML相似的标记语言,如HTML和XML。它由一个短的字符序列组成,代表一个字符(全球的文字字符)。
NCR编码是由一个与号(&)跟着一个井号(#), 然后跟着这个字符的Unicode编码值, 最后跟着一个分号组成的, 如:
其中, nnnn是字符编码的十进制表示, 而hhhh是字符的16进制表示.
另外要注意的是x在xml中必须是小写的.而hhhh可以大小写混用, 另外nnnn和hhhh也可以有前导零.
HTML Entites与NCR不同, HTML字符实体的名字必须是在HTML中已经定义的才能被使用,比如:
如果是XML的话,必须在DTD中定义过, 类似:
其中, 名字是大小写敏感的. 比如:
到此,我们来回答一下上面提出的问题,在html中没有规定的字符实体名称或不被浏览器支持的一些实体,怎么办呢?
答:可以使用NCR的方式,先找到字符对应的UNICODE编码,以小于号为例,unicode编码16进制为3C(10进制为60),在html则可以使用<或<,跟上面的表格对照看是否相同,由此我们也可以知道,如果我们的html所采用的编码不支持一些字符(比如其他国家的字符),则可以通过NCR来引入我们的页面就不会乱码了。
有一天,我的一个好朋友在调试webservice时发现对方的接口返回类似hhhh这样的东西,一时不知道如何处理,如何转换为我们想要的编码呢?下一篇文章将提供通用的转换程序,敬请期待!
最后感谢网络上无名的作者,是你们的博文让我学得更多,谢谢!如不小心引入您的博文内容而未带上出处,请告知我一声。
/article/5941263.html
dddd; hhhh; name;
——的一串字符是 HTML、XML 等 SGML 类语言的转义序列(escape sequence)。它们不是「编码」。
以 HTML 为例,这三种转义序列都称作 character reference:
前两种是 numeric character reference(NCR),数字取值为目标字符的 Unicode code point;以「」开头的后接十进制数字,以「」开头的后接十六进制数字。
后一种是 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 中已有定义的字符列表:
Character entity references in HTML 4
Character entity references in HTML5
http://www.zhihu.com/question/21390312
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,Unicode与NCR(数字字符引用)
标签: html, NCR, Numeric
Character Reference, Unicode
标题: HTML,Unicode与NCR(数字字符引用)
作者: Demon
链接: http://demon.tw/programming/numeric-character-reference.html
版权: 本博客的所有文章,都遵守“署名-非商业性使用-相同方式共享 2.5 中国大陆”协议条款。
昨天ihipop问的一个问题,下面是什么编码?
telecomadmin+8位数字
根据常识判断,后面的数字应该是Unicode编码值,写个VBS验证:
MsgBox ChrW(20301)&ChrW(25968)&ChrW(23383)
输出“位数字”,连起来就是“telecomadmin+8位数字”,读起来挺通顺的,看来是Unicode没错了。
Google了一下,这东西专业名称叫numeric character
reference(NCR),直译就是数字字符引用。一个Numeric Character Reference编码是由一个与号(&)跟着一个井号(#),然后跟着这个字符的Unicode编码值,最后跟着一个分号组成的,就像上面的例子一样。
有了数字字符引用,就可以在网页中显示Unicode字符了,不用考虑html文件本身的编码,因为数字字符引用只用到ASCII字符集里的字符。所以,即使在gb2312编码的网页中,也可以用NCR显示埃及的象形文字了。
这篇文章发布于 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
从字面上观察,一个是用+16进制+; 表达信息,一个是用&+字符串+; 突然让我想起了汇编语言里头的 助记符 跟 实际二进制指令代码,带着这个猜测往下看吧!
Character
entities references
HTML 中规定了 Character
entity references,也就是通常我们说得 html实体字符,一些字符在 HTML 中拥有特殊的含义,比如小于号 (<) 用于定义 HTML 标签的开始。如果我们希望浏览器正确地显示这些字符,我们必须在 HTML 源码中插入字符实体。
字符实体有三部分:一个和号 (&),一个实体名称,或者 # 和一个实体编号,以及一个分号 (;)。要在 HTML 文档中显示小于号,我们需要这样写:< 或者 <
并不是所有的浏览器都支持最新的实体名称,不同的浏览器中需要去验证哪些可以被识别哪些不能被识别,下图中的“撇号”在IE下就不能支持,对于不支持的实体名称可以用另外的方式解决,继续阅读下一段吧。
注意:实体对大小写敏感。
比较全面的列表请参看:这里
参考:http://www.w3school.com.cn/html/html_entities.asp
Numeric Character Reference
看看维基百科的解释:A numeric character reference (NCR) is a common markup construct used in SGML and other SGML-related markup languages such as HTML and XML. It consists of a short sequence of characters that, in turn, represent
a single character from the Universal Charact
NCR是一种常见的标记结构,用于SGML和其他SGML相似的标记语言,如HTML和XML。它由一个短的字符序列组成,代表一个字符(全球的文字字符)。
NCR编码是由一个与号(&)跟着一个井号(#), 然后跟着这个字符的Unicode编码值, 最后跟着一个分号组成的, 如:
nnnn; 或者 hhhh
其中, nnnn是字符编码的十进制表示, 而hhhh是字符的16进制表示.
另外要注意的是x在xml中必须是小写的.而hhhh可以大小写混用, 另外nnnn和hhhh也可以有前导零.
HTML Entites与NCR不同, HTML字符实体的名字必须是在HTML中已经定义的才能被使用,比如:
& //& //空格
如果是XML的话,必须在DTD中定义过, 类似:
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 -->
其中, 名字是大小写敏感的. 比如:
Å // Å 而: å //
到此,我们来回答一下上面提出的问题,在html中没有规定的字符实体名称或不被浏览器支持的一些实体,怎么办呢?
答:可以使用NCR的方式,先找到字符对应的UNICODE编码,以小于号为例,unicode编码16进制为3C(10进制为60),在html则可以使用<或<,跟上面的表格对照看是否相同,由此我们也可以知道,如果我们的html所采用的编码不支持一些字符(比如其他国家的字符),则可以通过NCR来引入我们的页面就不会乱码了。
有一天,我的一个好朋友在调试webservice时发现对方的接口返回类似hhhh这样的东西,一时不知道如何处理,如何转换为我们想要的编码呢?下一篇文章将提供通用的转换程序,敬请期待!
最后感谢网络上无名的作者,是你们的博文让我学得更多,谢谢!如不小心引入您的博文内容而未带上出处,请告知我一声。
/article/5941263.html
相关文章推荐
- 写在开始
- 第四章 master模块解析
- 教你玩转产品管理系统iClap(基础功能篇)
- hadoop2.2 伪分布式环境
- 常用的简单排序之插入排序,冒泡排序,选择排序,希尔排序
- Word2013 插入代码块方法
- 2016年4月7日
- WAV文件格式分析(转载)
- 通用标签
- 真机调试报 App installation failed
- PLUGINS that HELP YOU WORKING WITH ECLIPSE
- yacc 学习
- 传值
- js 对象属性复制到另一个对象
- 重构13天 抽取方法对象(Extract Method Object)
- PHP使用Mysqli类库实现完美分页效果的方法
- 搜索算法-二分搜索-方程解问题(problem 1001)
- UVA 1006 水题
- powerpc PCIe驱动学习
- 专访知名民间黑客洪流:未竟武侠梦,仗剑行天涯