第八课常用的编码

1. ascii 在数据库中,一半情况下是:

1 select ascii('...')

  其中要注意有select关键字在开头

 

2. html编码:

  字符实体编码,即在html中对字符实体进行编码(转义),不让它起别的作用。

  这种编码有两种形式,第一种就是实体名称,以&开头,比如&nbsp代表空格。第二种就是实体编号,以&#开头,比如&#160代表空格,详情见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编码:

  主要应用于电子邮件中。

上一篇:光天化日学C语言(07)- ASCII码 | 来,跟我念:阿斯克二马


下一篇:C——转义字符和ASCII码