压缩与解压

概念

名称 释义
压缩 把数据换一种方式来存储,以减⼩存储空间
解压缩 把压缩后的数据还原成原先的形式,以便使⽤
1
压缩是编码。所谓编码,即把数据从一种形式转换为另一种形式。压缩过程属于编码过程,解压缩过程属于解码过程。

常见压缩算法

  • DEFLATE(zip归档时使用的便是该算法)
  • JPEG(图片文件)
  • MP3(声音文件)

媒体数据的编解码

含义

       将图像、⾳频、视频数据通过编码来转换成存档形式(编码),以及从存档形式转换回来(解码)。

目的

       存储和压缩媒体数据(⼤多数媒体编码算法会压缩数据,但不是全部)。

序列化

概念

       序列化:把数据对象(⼀般是内存中的,例如 JVM 中的对象)转换成字节序列的过程。对象在程序内存⾥的存放形式是散乱的(存放在不同的内存区域、并且由引⽤进⾏连接),通过序列化可以把内存中的对象转换成⼀个字节序列,从⽽使⽤ byte[] 等形式进⾏本地存储或⽹络传输,在需要的时候重新组装(反序列化)来使⽤。

       反序列化:把字节序列重新转换成内存中的对象。

目的

       让内存中的对象可以被存储和传输。

1
2
序列化不是编码。编码是把数据由⼀种数据格式转换成另⼀种数据格式;⽽序列化是把数据由内存中的对象(⽽不是某
种具体的格式)转换成字节序列。

参考资料:
腾讯课堂 HenCoder

Fork me on GitHub