HTML字符实体(Character Entities),转义字符串(Escape Sequence)

为什么要用转义字符串?

HTML中<,>,&等有特殊含义(<,>,用于链接签,&用于转义),不能直接使用。这些符号是不显示在我们最终看到的网页里的,那如果我们希望在网页中显示这些符号,该怎么办呢?

这就要说到HTML转义字符串(Escape Sequence)了。

转义字符串(Escape Sequence)也称字符实体(Character Entity)。在HTML中,定义转义字符串的原因有两个:第一个原因是像“<”和“>”这类符号已经用来表示HTML标签,因此就不能直接当作文本中的符号来使用。为了在HTML文档中使用这些符号,就需要定义它的转义字符串。当解释程序遇到这类字符串时就把它解释为真实的字符。在输入转义字符串时,要严格遵守字母大小写的规则。第二个原因是,有些字符在ASCII字符集中没有定义,因此需要使用转义字符串来表示。

转义字符串的组成

转义字符串(Escape Sequence),即字符实体(Character Entity)分成三部分:第一部分是一个&符号,英文叫ampersand;第二部分是实体(Entity)名字或者是#加上实体(Entity)编号;第三部分是一个分号。

比如,要显示小于号(<),就可以写 &lt; 或者 < 。

用实体(Entity)名字的好处是比较好理解,一看lt,大概就猜出是less than的意思,但是其劣势在于并不是所有的浏览器都支持最新的Entity名字。而实体(Entity)编号,各种浏览器都能处理。

提示:实体名称(Entity)是区分大小写的。

备注:同一个符号,可以用“实体名称”和“实体编号”两种方式引用,“实体名称”的优势在于便于记忆,但不能保证所有的浏览器都能顺利识别它,而“实体编号”则没有这种担忧,但它实在不方便记忆。

如何显示空格?

通常情况下,HTML会自动截去多余的空格。不管你加多少空格,都被看做一个空格。比如你在两个字之间加了10个空格,HTML会截去9个空格,只保留一个。为了在网页中增加空格,你可以使用&nbsp;表示空格。


HTML特殊转义字符列表

最常用的字符实体
Character Entities

显示

说明

实体名称

实体编号

 

半方大的空白

&ensp;

       
 

全方大的空白

&emsp;

       
 

不断行的空白格

&nbsp;

 

小于

&lt;

<

大于

&gt;

>

&

&符号

&amp;

&

"

双引号

&quot;

"

©

版权

&copy;

©

®

已注册商标

&reg;

®

商标(美国)

       

×

乘号

&times;

×

÷

除号

&divide;

÷

ISO 8859-1 (Latin-1)字符集

HTML 4.01 支持 ISO 8859-1 (Latin-1) 字符集。

备注:为了方便起见,以下表格中,“实体名称”简称为“名称”,“实体编号”简称为“编号”

显示

名称

编号

显示

名称

编号

显示

名称

编号

显示

名称

编号

显示

名称

编号

 

&nbsp;

 

¡

&iexcl;

¡

¢

&cent;

¢

£

&pound;

£

¤

&curren;

¤

¥

&yen;

¥

¦

&brvbar;

¦

§

&sect;

§

¨

&uml;

¨

©

&copy;

©

ª

&ordf;

ª

«

&laquo;

«

¬

&not;

¬

­

&shy;

­

®

&reg;

®

¯

&macr;

¯

°

&deg;

°

±

&plusmn;

±

²

&sup2;

²

³

&sup3;

³

´

&acute;

´

µ

&micro;

µ

&para;

·

&middot;

·

¸

&cedil;

¸

¹

&sup1;

¹

º

&ordm;

º

»

&raquo;

»

¼

&frac14;

¼

½

&frac12;

½

¾

&frac34;

¾

¿

&iquest;

¿

À

&Agrave;

À

Á

&Aacute;

Á

Â

&Acirc;

Â

Ã

&Atilde;

Ã

Ä

&Auml;

Ä

Å

&Aring;

Å

Æ

&AElig;

Æ

Ç

&Ccedil;

Ç

È

&Egrave;

È

É

&Eacute;

É

Ê

&Ecirc;

Ê

Ë

&Euml;

Ë

Ì

&Igrave;

Ì

Í

&Iacute;

Í

Î

&Icirc;

Î

Ï

&Iuml;

Ï

Ð

&ETH;

Ð

Ñ

&Ntilde;

Ñ

Ò

&Ograve;

Ò

Ó

&Oacute;

Ó

Ô

&Ocirc;

Ô

Õ

&Otilde;

Õ

Ö

&Ouml;

Ö

×

&times;

×

Ø

&Oslash;

Ø

Ù

&Ugrave;

Ù

Ú

&Uacute;

Ú

Û

&Ucirc;

Û

Ü

&Uuml;

Ü

Ý

&Yacute;

Ý

Þ

&THORN;

Þ

ß

&szlig;

ß

à

&agrave;

à

á

&aacute;

á

â

&acirc;

â

ã

&atilde;

ã

ä

&auml;

ä

å

&aring;

å

æ

&aelig;

æ

ç

&ccedil;

ç

è

&egrave;

è

é

&eacute;

é

ê

&ecirc;

ê

ë

&euml;

ë

ì

&igrave;

ì

í

&iacute;

í

î

&icirc;

î

ï

&iuml;

ï

ð

&eth;

ð

ñ

&ntilde;

ñ

ò

&ograve;

ò

ó

&oacute;

ó

ô

&ocirc;

ô

õ

&otilde;

õ

ö

&ouml;

ö

÷

&divide;

÷

ø

&oslash;

ø

ù

&ugrave;

ù

ú

&uacute;

ú

û

&ucirc;

û

ü

&uuml;

ü

ý

&yacute;

ý

þ

&thorn;

þ

ÿ

&yuml;

ÿ

                       

数学和希腊字母标志
symbols, mathematical symbols, and Greek letters

显示

名称

编号

显示

名称

编号

显示

名称

编号

显示

名称

编号

显示

名称

编号

ƒ

&fnof;

ƒ

Α

&Alpha;

Α

Β

&Beta;

Β

Γ

&Gamma;

Γ

Δ

&Delta;

Δ

Ε

&Epsilon;

Ε

Ζ

&Zeta;

Ζ

Η

&Eta;

Η

Θ

&Theta;

Θ

Ι

&Iota;

Ι

Κ

&Kappa;

Κ

Λ

&Lambda;

Λ

Μ

&Mu;

Μ

Ν

&Nu;

Ν

Ξ

&Xi;

Ξ

Ο

&Omicron;

Ο

Π

&Pi;

Π

Ρ

&Rho;

Ρ

Σ

&Sigma;

Σ

Τ

&Tau;

Τ

Υ

&Upsilon;

Υ

Φ

&Phi;

Φ

Χ

&Chi;

Χ

Ψ

&Psi;

Ψ

Ω

&Omega;

Ω

α

&alpha;

α

β

&beta;

β

γ

&gamma;

γ

δ

&delta;

δ

ε

&epsilon;

ε

ζ

&zeta;

ζ

η

&eta;

η

θ

&theta;

θ

ι

&iota;

ι

κ

&kappa;

κ

λ

&lambda;

λ

μ

&mu;

μ

ν

&nu;

ν

ξ

&xi;

ξ

ο

&omicron;

ο

π

&pi;

π

ρ

&rho;

ρ

ς

&sigmaf;

ς

σ

&sigma;

σ

τ

&tau;

τ

υ

&upsilon;

υ

φ

&phi;

φ

χ

&chi;

χ

ψ

&psi;

ψ

ω

&omega;

ω

?

&thetasym;

ϑ

?

&upsih;

ϒ

?

&piv;

ϖ

&bull;

&hellip;

&prime;

&Prime;

&oline;

&frasl;

&weierp;

&image;

&real;

&trade;

&alefsym;

&larr;

&uarr;

&rarr;

&darr;

&harr;

&crarr;

&lArr;

&uArr;

&rArr;

&dArr;

&hArr;

&forall;

&part;

&exist;

&empty;

&nabla;

&isin;

&notin;

&ni;

&prod;

&sum;

&minus;

&lowast;

&radic;

&prop;

&infin;

&ang;

&and;

&or;

&cap;

&cup;

&int;

&there4;

&sim;

&cong;

&asymp;

&ne;

&equiv;

&le;

&ge;

&sub;

&sup;

&nsub;

&sube;

&supe;

&oplus;

&otimes;

&perp;

&sdot;

?

&lceil;

?

&rceil;

?

&lfloor;

?

&rfloor;

?

&lang;

?

&rang;

&loz;

&spades;

&clubs;

&hearts;

&diams;

     

重要的国际标记
markup-significant and internationalization characters

显示

名称

编号

显示

名称

编号

显示

名称

编号

显示

名称

编号

显示

名称

编号

"

&quot;

"

&

&amp;

&

&lt;

<

&gt;

>

Œ

&OElig;

Œ

œ

&oelig;

œ

Š

&Scaron;

Š

š

&scaron;

š

Ÿ

&Yuml;

Ÿ

ˆ

&circ;

ˆ

˜

&tilde;

˜

&ensp;

&emsp;

&thinsp;

&zwnj;

&zwj;

&lrm;

&rlm;

&ndash;

&mdash;

&lsquo;

&rsquo;

&sbquo;

&ldquo;

&rdquo;

&bdquo;

&dagger;

&Dagger;

&permil;

&lsaquo;

&rsaquo;

&euro;

                 

JavaScript转义符

转义序列

字符

\b

退格

\f

走纸换页

\n

换行

\r

回车

\t

横向跳格 (Ctrl-I)

\'

单引号

\"

双引号

\\

反斜杠

编程的时候要注意特殊字符的问题,很多运行时出现的问题都是因为特殊字符的出现而引起的。

注意,由于反斜杠本身用作转义符,因此不能直接在脚本中键入一个反斜杠。如果要产生一个反斜杠,必须一起键入两个反斜杠 (\\)。


编码转换(to Unicode)

(程序代码来源于网络)

Js

<script>

     test = "你好abc"

     str = ""

     for( i=0;    i<test.length; i++ )

     {

      temp = test.charCodeAt(i).toString(16);

      str    += "\\u"+ new Array(5-String(temp).length).join("0") +temp;

     }

     document.write (str)

</script>

 

vbs

 

Function Unicode(str1)

     Dim str,temp

     str = ""

     For i=1    to len(str1)

      temp = Hex(AscW(Mid(str1,i,1)))

      If len(temp) < 5 Then    temp = right("0000" & temp, 4)

      str = str & "\u" & temp

     Next

     Unicode = str

End Function

 

Function htmlentities(str)

     For i = 1 to Len(str)

         char = mid(str, i, 1)

         If Ascw(char) > 128 then

             htmlentities = htmlentities & "&#" & Ascw(char) & ";"

         Else

             htmlentities = htmlentities & char

         End if

     Next

End Function

coldfusion

function nochaoscode(str)

{

     var new_str = “”;

     for(i=1; i lte len(str);i=i+1){

         if(asc(mid(str,i,1)) lt 128){

             new_str = new_str & mid(str,i,1);

         }else{

             new_str = new_str & “&##” & asc(mid(str,i,1));

         }

     }

     return new_str;

}


附:

在php中我们可以用mbstring的mb_convert_encoding函数实现这个正向及反向的转化。如:

 

mb_convert_encoding ("你好", "HTML-ENTITIES", "gb2312"); //输出:你好

mb_convert_encoding ("你好", "gb2312", "HTML-ENTITIES"); //输出:你好

如果需要对整个页面转化,则只需要在php文件的头部加上这三行代码:

mb_internal_encoding("gb2312"); // 这里的gb2312是你网站原来的编码

mb_http_output("HTML-ENTITIES");

ob_start('mb_output_handler');

来源:HTML转义字符: http://114.xixik.com/character/

相关:正则表达式: http://114.xixik.com/regex/

 

HTML转义字符串的更多相关文章

  1. java转换 HTML字符实体,java特殊字符转义字符串

    为什么要用转义字符串? HTML中<,>,&等有特殊含义(<,>,用于链接签,&用于转义),不能直接使用.这些符号是不显示在我们最终看到的网页里的,那如果我们希 ...

  2. HTML字符实体(Character Entities),转义字符串(Escape Sequence)

    为什么要用转义字符串? HTML中<,>,&等有特殊含义(<,>,用于链接签,&用于转义),不能直接使用.这些符号是不显示在我们最终看到的网页里的,那如果我们希 ...

  3. c#转义字符串中的所有正则特殊字符

    /// <summary> /// 转义字符串中所有正则特殊字符 /// </summary> /// <param name="input"> ...

  4. HTML字符实体(Character Entities),转义字符串(Escape Sequence)【转】

    为什么要用转义字符串? HTML中<,>,&等有特殊含义(<,>,用于链接签,&用于转义),不能直接使用.这些符号是不显示在我们最终看到的网页里的,那如果我们希 ...

  5. Java_String_01_由转义字符串得到其原本字符串

    在开发企业微信电子发票之拉取电子发票接口的时候,微信服务器会发送给我们一个2层的转义字符串,而我们要想得到我们想要的结果,就需要进行一些处理: 反转义+去除首尾双引号. 一.需求 现有一个字符串 st ...

  6. 使用StringEscapeUtils转义、反转义字符串

    使用commmons-lang.jar中的字符串转义工具类org.apache.commons.lang.StringEscapeUtils转义.反转义字符串,支持CSV.HTML.JAVA.Java ...

  7. Lua学习笔记3. 函数可变参数和运算符、转义字符串、数组

    1. Lua函数可以接受变长数目的参数,和C语言类似,在函数的参数列表中使用(...)表示函数可以接受变长参数 lua函数将参数存放在一个table中,例如arg,那么#arg可以获得参数的个数 fu ...

  8. HTML字符实体(Character Entities),转义字符串(Escape Sequence) 转

    为什么要用转义字符串? HTML中<,>,&等有特殊含义(<,>,用于链接签,&用于转义),不能直接使用.这些符号是不显示在我们最终看到的网页里的,那如果我们希 ...

  9. Python 解码 Unicode 转义字符串 (转)

    其实,这里要讨论的内容是针对 Python2 的,实际上也是 Python2 中让人头疼的编码问题,而 Python3 则好处理得多. 先来看看例子: >>> s = "我 ...

随机推荐

  1. CI 结合 vue.js 的搜索功能模块

    CI 结合 vue.js 的搜索功能模块 最近在有优化公司后台的某个模块的搜索功能优化 原先的是这个样子的,很是单调: 老大给我找个图希望我能弄成这样子: 经过不断修改,最后成了这样子 是不是比以前好 ...

  2. linux C语言处理正则表达式

    Linux下C语言处理正则表达式——regex.h 具体函数介绍 编译正则表达式函数 int regcomp(regex_t *preg, const char *regex, int cflags) ...

  3. 关于JS的时间控制实现动态效果及实例操作

    关于JS的时间控制 <script>        BOM   //Bowers Object Model   浏览器对象模型    setTimeout()//    延迟执行一次   ...

  4. leetcode Binary Tree Right Side

    Given a binary tree, imagine yourself standing on the right side of it, return the values of the nod ...

  5. Charles使用(一)

    Charles使用(一)   1.什么是Charles Charles是在MAC下常用的网络封包截取工具,在做移动开发时,是为了调试与服务端的网络通信协议,常常需要截取网络包来分析.Charles是通 ...

  6. mysql为什么范围查询(>,<,between,%like,like%)之后的索引无效

    因为使用了范围索引,所以会使用满足范围的所有的值,也就是说存储引擎在这个时候会提取出满足之后条件的所有值,并遍历获取满足之后条件的值. http://www.itpub.net/thread-1901 ...

  7. 陈年佳酿之 - Winform ListView 控件 double click 事件中获取选中的row与column

    背景 最近收到了一个关于以前项目的维护请求,那时的楼主还是刚刚工作的小青年~~~ 项目之前使用的是.net/winform.今天重新打开代码,看着之前在FrameWork2.0下面的代码, 满满的回忆 ...

  8. testNG java.net.SocketException: Software caused connection abort: socket write error

    执行用例报错,提示 java.net.SocketException: Software caused connection abort: socket write error java.net.So ...

  9. MySQL 内建函数

    日期相关 mysql> select curdate(),curtime(),now(),unix_timestamp(),week('2017-07-24'),year('2017-07-24 ...

  10. 【Ubuntu 16】深入Ubuntu文件系统

    Ubuntu文件系统的设计目的就是把文件有序地组织在一起,提供一个从逻辑上组织文件的文件系统.除了文件的组织外,文件安全也是文件系统的设计要点,所以文件的访问权限是文件系统不可缺少的组成部分 Ubun ...