首页 > 其他分享 >HTML编码

HTML编码

时间:2024-05-27 22:48:13浏览次数:13  
标签:编码 &# 字符 HTML Unicode 解析

目录
1.HTML编码概述
2.实体编码
3.URLcode编码
4.unicode编码
5.解码实例
1.HTML编码概述
通常一个网页中可解析的总共有三种编码,每种编码都能用来代替表示字符,按解析顺序依次是“html实体编码”“urlcode码”“Unicode码”,在执行过程中会在HTML环境下先解析“html实体编码”和“urlcode码”,然后查看有无js环境并解析其中的Unicode编码,对于三者的理解都有助于我们绕过限制正则,实行渗透。

2.实体编码
HTML 实体是一段以’&#‘开头、加上ASCII码居中、以分号‘;’结尾的文本,如:“ ;”,实体常常用于显示保留字符,和不可见的字符,作为HTML环境第一次解析的编码,这些字符可能还会进一步被解析为 urlcode、js 代码,以下是ASCII码对照表:

以下是几个举例格式

显示结果 描述 实体名称 实体编号
空格    
< 小于号 &lt; &#60;
> 大于号 &gt; &#62;
& 和号 &amp; &#38;
" 引号 &quot; &#34;
’ 撇号 &apos; (IE不支持) &#39;
编码可用10进制表示,也可使用16进制表示如:&#49;和&#x31;均表示1;

需要提一下的是&lt;和&gt;使用中不会将其内部的数据当做标签处理,解析后会直接当做字符。

3.URLcode编码
URLcode编码同样是对ASCII码的运用,但使用的ASCII码为16进制,且格式为‘%’+ASCII码的形式。同时它也是URL中使用的解析编码,如此处的%27就在URL中表示单引号


4.unicode编码
Unicode码是指万国码,几乎涵盖了所有的文字与字符,utf-8也是其中一种,特指可变长的Unicode编码,它的前127位与ASCII码完全相同,其编码规则如下:

Unicode十六进制码点范围 UTF-8二进制
00000000 - 0000 007F 0xxxxxxx
0000 0080 - 0000 07FF 110xxxxx 10xxxxxx
0000 0800 - 0000 FFFF 1110xxxx 10xxxxxx 10xxxxxx
0001 0000 - 0010 FFFF 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx
第一个字节的第一位是 0 ,则说明这个字节对应一个字符;如果一个字节的第一位1,那么连续有多少个 1,就表示该字符占用多少个字节。

“汉”的 Unicode 码点是 0x6c49(110 1100 0100 1001),对照表可知0x0000 6c49 表示字节为3,也就是第三行的 1110xxxx 10xxxxxx 10xxxxxx格式,从“汉”的二进制数最后一位开始,从后向前依次填充对应格式中的 x,多出的 x 则补0,,“汉”的编码可得为 11100110 10110001 10001001,转换成十六进制就是 0xE6 0xB7 0x89。

在网页中只有JavaScript环境才能识别Unicode编码,且格式为\u+16进制码,如\u0061就表示a

值得注意的是尽管Unicode能表示几乎所有字符,但在JavaScript环境下并不能解码任何符号和数字

5.解码实例
以下是一段简单的a标签,其中存在一段html实体编码
<a href="&#x6a;&#x61;&#x76;&#x61;&#x73;&#x63;&#x72;&#x69;&#x70;&#x74;&#x3a;&#x25;&#x35;&#x63;&#x25;&#x37;&#x35;&#x25;&#x33;&#x30;&#x25;&#x33;&#x30;&#x25;&#x33;&#x36;&#x25;&#x33;&#x31;&#x25;&#x35;&#x63;&#x25;&#x37;&#x35;&#x25;&#x33;&#x30;&#x25;&#x33;&#x30;&#x25;&#x33;&#x36;&#x25;&#x36;&#x33;&#x25;&#x35;&#x63;&#x25;&#x37;&#x35;&#x25;&#x33;&#x30;&#x25;&#x33;&#x30;&#x25;&#x33;&#x36;&#x25;&#x33;&#x35;&#x25;&#x35;&#x63;&#x25;&#x37;&#x35;&#x25;&#x33;&#x30;&#x25;&#x33;&#x30;&#x25;&#x33;&#x37;&#x25;&#x33;&#x32;&#x25;&#x35;&#x63;&#x25;&#x37;&#x35;&#x25;&#x33;&#x30;&#x25;&#x33;&#x30;&#x25;&#x33;&#x37;&#x25;&#x33;&#x34;&#x28;&#x31;&#x35;&#x29;">测试</a>
按执行流程会先将其解码为:
<a href="javascript:%5c%75%30%30%36%31%5c%75%30%30%36%63%5c%75%30%30%36%35%5c%75%30%30%37%32%5c%75%30%30%37%34(15)">测试</a>

接着它会继续扫描是否存在URLcode码,然后继续解析,得到:
<a href="javascript:\u0061\u006c\u0065\u0072\u0074(15)">测试</a>

再然后进入JavaScript环境继续解析为:
<a href="javascript:alert(15)">测试</a>
————————————————

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

原文链接:https://blog.csdn.net/undefineing/article/details/132096242

标签:编码,&#,字符,HTML,Unicode,解析
From: https://www.cnblogs.com/webenh/p/18216723

相关文章

  • HTML5的标签(文本链接、图片路径详解)
    目录前言一、文本链接超链接表述二、图片路径详解绝对路径相对路径网络路径前言 一、文本链接超链接表述HTML使用标签<a>来设置超文本链接超链接可以是一个字,一个词,或者一组词,也可以是一幅图像,您可以点击这些内容来跳转到新的文档或者当前文档中的某个部分。......
  • 把电脑的控制器交给Html
    https://github.com/quxingbai/QWindowToHttp某些时候总是有计算机任务需要时不时点击一下,但自己不想坐在电脑旁边所以搞了个这东西原理就是电脑这边一个截图接口html那边不断请求刷新实现的显示然后通过点击图片的事件来控制电脑后面还加了个键盘...默认是共享到9003端口......
  • js在html里的引用方法
    <!--1.通过事件属性添加js脚本--><buttontype="button"class="default"onclick="alert(this.tagName)">提交</button><!--2.通过script标签添加内部的js脚本,但只能在当前的html中有效--><script>letsum=......
  • 代码雨(coderain)源码(html5+css3+javascript,原创)
     大家看过黑客帝国的代码雨吗?本人自己写了一个,效果还可以。演示效果请见https://www.lanbaoshi.site/coderain.htm下面上代码:<!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><htmlxmlns="htt......
  • 无位置编码 (NoPE) 也有长度泛化问题?首个针对NoPE的长度外推方法
    前言 无位置编码(NoPE)的Transformer已经被证明在自回归语言模型任务上和Transformer+RoPE效果相当,但是NoPE的长度泛化问题并没有改善,和RoPE一样严重。华师、复旦、上海AILab联合团队基于NoPE,在排除位置编码影响下,研究长度泛化失败的表现和原因,并首次提出适用于NoPE......
  • 关于软件项目的系统实现(系统编码方面)
    说说你了解过、使用过什么编程语言?比较下他们的优势?答:Python:Python是我课余时间接触的一种高级编程语言,具有简单易学、可读性强、功能强大等优点,适用于数据分析、机器学习、Web开发等领域,对人工智能相关的学习很有帮助。Java:Java是一种与平台无关的编程语言,具有强大的面向......
  • 哆啦AAA萌也能用HTML画出来?看这里!【完整代码可运行】
    关注微信公众号「ClassmateJie」有完整代码以及更多惊喜等待你的发现。简介/效果展示你是否曾经想过,那些可爱的哆啦A梦角色是如何被创造出来的呢?今天,我要带你一起探索一个神奇的秘密——用HTML画出哆啦A梦!代码<!DOCTYPEhtml><htmllang="en"><head><metacha......
  • net基于ASP. NET及HTML的高校官网设计论文
    目录第一章绪论11.1背景及意义11.2国内外研究概况21.3研究的内容2第二章关键技术的研究32.1net语言32.2MVC框架32.3VUE框架42.4Tomcat介绍42.5sqlserver数据库5第三章系统分析53.1系统设计目标63.2系统可行性分析63.3系统功能分析......
  • 了解 HTML 中的window、document、body和元素的尺寸及位置
    本文将详细介绍与窗口(window)、文档(document)、主体(body)以及其他HTML元素的尺寸和位置相关的属性及方法。每个部分将包含示例和代码注释,帮助您更好地理解和应用这些知识。window对象尺寸属性1.window.innerWidth和window.innerHeightwindow.innerWidth和window.inn......
  • html解决浏览器记住密码输入框的问题
    浏览器通常会记住用户在表单中输入的信息,包括密码字段。这是通过表单的autocomplete属性来控制的。如果你希望浏览器不要记住密码字段的输入,可以设置autocomplete属性为off或new-password。以下是一个HTML表单示例,展示如何禁止浏览器记住密码字段: <!DOCTYPEhtml><htmllang......