1. ascii 在数据库中,一半情况下是:
1 select ascii('...')
其中要注意有select关键字在开头
2. html编码:
字符实体编码,即在html中对字符实体进行编码(转义),不让它起别的作用。
这种编码有两种形式,第一种就是实体名称,以&开头,比如 代表空格。第二种就是实体编号,以&#开头,比如 代表空格,详情见w3c。在第二种形式中,后面的数字为固有的定义数字或者10进制或者x16进制ascii。
浏览器解析的时候会对html编码解析再进行渲染,其编码时是不对标签进行编码。
3. URL编码:
将特殊符号进行编码,格式为%后接16进制的ascii,比如空格为%20
4. js编码(xss,把js的语句进行编码(也就是<script>标签中的内容)):
第一种,十六进制编码:\x后接ascii16进制,比如<可表示成\x3C
第二种,八进制编码:\后接八进制
第三种,Unicode编码:\u后接Unicode编码
ps:注意的是,Unicode开头的编码中与ascii16进制重合,即00后接ascii16进制编码为Unicode编码
5. hex编码(数据库中):
格式为:0x后接hex编码(16进制)
ps:hex编码实际上是base16编码,其和ascii中的16进制相同
6. json编码(用于各个语言之间的数据交换,算是序列化的一种):
格式: [ {"键": "值",
"键": "值",
...},
{"键": "值",
"键": "值",
...},
... ]
用python的格式来说,就是列表中有许多词典,然后键值对的元素用""包住
当然格式不为一,也可以是字典内有列表,列表中再有字典
具体例子详见w3c:JSON 数据格式_w3cschool
7. 序列化(需要进行“跨平台存储”和”网络传输”的数据时,都需要进行序列化):
序列化:把对象转化为可传输的字节序列过程称为序列化。
反序列化:把字节序列还原为对象的过程称为反序列化。
ps:json编码和序列化的区别最明显的地方在于作用的对象,json编码是对数据进行编码,比如数字,数组,其最大的缺陷在于不能把对象的方法进行编码,而序列化可以,但序列化效率慢且编码结果长。
8. utf7编码:
主要应用于电子邮件中。