1.页面编码

在网页设置网页编码 在<head></head>中加入设置特定html标签

<meta charset="utf-8" /> 这样页面的编码就会变成utf-8

如果没有设置编码就会使用默认的编码,而浏览器默认编码与之不同就会出现乱码

常用的有三种格式分别是 utf-8、gbk、gbk2312

2.ASCII编码

ASCII (American Standard Code for Information Interchange):美国信息交换标准代码是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言。它是最通用的信息交换标准,并等同于国际标准 ISO/IEC 646。ASCII第一次以规范标准的类型发表是在1967年,最后一次更新则是在1986年,到目前为止共定义了128个字符。

 3.HTML编码

实体 http://www.w3school.com.cn/html/html_entities.asp

HTML编码的存在就是让其在代码中和显示中分开, 避免错误

命名实体:构造是&加希腊字母

字符编码:构造是&#加十进制

HTML字符实体转换 http://www.qqxiuzi.cn/bianma/zifushiti.php 

ASCII码或unicode字符编码,浏览器解析的时候会先把html编码解析再进行渲染。但是有个前提就是必须要在“值”里,比如属性src里,但却不能对src进行html编码,不然浏览器无法正常的渲染。

十六进制

1 <img src="https://www.baidu.com/img/bd_logo1.png">
2 <img src="&#x68;&#x74;&#x74;&#x70;&#x73;&#x3A;&#x2F;&#x2F;&#x77;&#x77;&#x77;&#x2E;&#x62;&#x61;&#x69;&#x64;&#x75;&#x2E;&#x63;&#x6F;&#x6D;&#x2F;&#x69;&#x6D;&#x67;&#x2F;&#x62;&#x64;&#x5F;&#x6C;&#x6F;&#x67;&#x6F;&#x31;&#x2E;&#x70;&#x6E;&#x67;">

十进制

1 <img src="https://www.baidu.com/img/bd_logo1.png">
2 <img src="&#104;&#116;&#116;&#112;&#115;&#58;&#47;&#47;&#119;&#119;&#119;&#46;&#98;&#97;&#105;&#100;&#117;&#46;&#99;&#111;&#109;&#47;&#105;&#109;&#103;&#47;&#98;&#100;&#95;&#108;&#111;&#103;&#111;&#49;&#46;&#112;&#110;&#103;">

xss

1 <img src="D:Typorax" onerror="alert(1)">
2 <img src="D:Typorax" onerror="&#97;&#108;&#101;&#114;&#116;&#40;&#49;&#41;">

4.URL编码

URL编码是一种多功能技术,可以通过它来战胜多种类型的输入过滤器

URL编码的最基本表示方式是使用字符的十六进制ASCII编码来替换它们,并在ASCII编码前加%

例如,单引号字符的ASCII码为0x27,其URL编码的表示方式为%27

5.js编码

编码转换 

进制 https://www.jb51.net/tools/zhuanhuan.htm

unicode http://www.msxindl.com/tools/unicode16.asp

<script>alert("Hello world!");</script>

JavaScript 十六进制编码

1 x3Cx73x63x72x69x70x74x3Ex61x6Cx65x72x74x28x22x48x65x6Cx6Cx6Fx20x77x6Fx72x6Cx64x21x22x29x3Bx3Cx2Fx73x63x72x69x70x74x3E

JavaScript 八进制编码

1 741631431621511601647614115414516216450421101451541541574016715716215414441425173745716314316215116016476

JavaScript unicode编码

1 u003cu0073u0063u0072u0069u0070u0074u003eu0061u006cu0065u0072u0074u0028u0022u0048u0065u006cu006cu006fu0020u0077u006fu0072u006cu0064u0021u0022u0029u003bu003cu002fu0073u0063u0072u0069u0070u0074u003eu0020

6.hex编码

这种编码常用于数据库中,转码过后要加上0x

例如,a的hex码是61,在数据库使用就是0x61

7.base64编码

base64 编码是一种常用的字符编码,在很多地方都会用到。但base64不是安全领域下的加密解密算法。能起到安全作用的效果很差,而且很容易破解,核心作用应该是传输数据的正确性,有些网关或系统只能使用ASCII字符。Base64就是用来将非ASCII字符的数据转换成ASCII字符的一种方法,而且base64非常适合在http,mime协议下快速传输数据。 

8.json编码

JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,易于阅读和编写,同时也易于机器解析和生成。它基于ECMA262语言规范(1999-12第三版)中JavaScript编程语言的一个子集。 JSON采用与编程语言无关的文本格式,但是也使用了类C语言(包括C, C++, C#, Java, JavaScript, Perl, Python等)的习惯,这些特性使JSON成为理想的数据交换格式。 

 1 [
 2   {
 3     "Name": "a1",
 4     "Number": "123",
 5     "Contno": "000",
 6     "QQNo": ""
 7   },
 8   
 9   {
10     "Name": "a1",
11     "Number": "123",
12     "Contno": "000",
13     "QQNo": ""
14   },
15 
16   {
17     "Name": "a1",
18     "Number": "123",
19     "Contno": "000",
20     "QQNo": ""
21   }
22 ]
23 
24 <?php
25 
26 $data='[{"Name":"a1","Number":"123","Contno":"000","QQNo":""},{"Name":"a1","Number":"123","Contno":"000","QQNo":""},{"Name":"a1","Number":"123","Contno":"000","QQNo":""}]'; 
27 $json=json_decode($data); 
28 
29 print_r($json);
30 
31 ?>

9.序列化

序列化 (Serialization) 是将对象的状态信息转换为可以存储或传输的形式的过程。在序列化期间,对象将其当前状态写入到临时或持久性存储区。以后,可以通过从存储区中读取或反序列化对象的状态,重新创建该对象。

 1 a:3:{i:0;s:3:"Moe";i:1;s:5:"Larry";i:2;s:5:"Curly";}
 2 
 3 <?php 
 4 
 5 $stooges = array('Moe','Larry','Curly');
 6 
 7 $new = serialize($stooges);
 8 
 9 print_r($new);
10 
11 echo "<br />";
12 
13 print_r(unserialize($new));
14 
15 ?>

10.uft7编码

UTF-7 (7-位元 Unicode 转换格式(Unicode Transformation Format,简写成 UTF))是一种可变长度字符编码方式, 用以将 Unicode 字符以 ASCII 编码的字符串来呈现,可以应用在电子邮件传输之类的应用。

编码转换 https://web2hack.org/xssee/ 

 

HelloWorld +AEg-e+AGwAbABvAFcAbwByAGw-d

内容来源于网络如有侵权请私信删除

文章来源: 博客园

原文链接: https://www.cnblogs.com/lxl3344/p/17615330.html

你还没有登录,请先登录注册
  • 还没有人评论,欢迎说说您的想法!